监控系统:硬件,软件,业务指标;
采样;告警;存储;展示
监控通道:ssh , snmp(simple network management protocol), telnet, agent,IPMI
ssh/telnet
snmp:监控通道
v1
v2c
v3
监控工具种类:
cati知名绘图工具,早期的,提供一个web接口,用来监控,信息存在rrd数据库,能展示图状状态,报警差
nagios,能实现对指标是否在合理之间的监控;不能展示图状
zabbix,告警之前先远程执行脚本修复,然后采样,告警,告警升级,展示,
ganglia:
snmpget/snmpgetnext/snmpwalk
关系型数据库:
rrd: 轮询数据库
时间系列数据库
NoSQL
zabbix:
LTS: 2.2, 3.0
特性:
数据采样:snmp,ssh/telnet,agent,ipmi接口可以在硬件层评估, jmx
自定义检测机制:UserPARAMENTER
自定义指定时间间隔
实时绘图:展示
graph
map 能够实现类似网络的拓扑图的实现 如网络,能
screen:将多个graph 展示
slide show:幻灯展示机制
告警:
升级:发邮件通知
script 执行脚本
notification
数据存储:
默认两种数据库:
mysql
pgsql
支持模板:
网络自动发现:
分布式监控:
server<-->proxy<agent/ssh/lpml
API
构架:
Zabbix web GUI
Zabbix database
Zabbix server
Zabbix proxy 分布式监控实现
Web pages
ICMP/IPMI/SNMP:Devices
Agent:OS
JMX
Web pages
ICMP/IPMI/SNMP:Devices
Agent:OS
Zabbix组件概述:
Zabbix Server: 负责收agent 发送的报告信息的核心组件,所有配置,统计数据及操作数据均有其组织进行;
Database Storage : 专用于存储所有配置信息,以及由zabbix收集的数据;
Web interface: zabbix的GUI接口,通常与Server运行在同一台主机上;
Proxy: 可选组件,常用于分布式监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;
Agent: 部署在被监控主机上,负责收集本地数据并发往Server端或Porxy端;
zabbix程序构成:
zabbix_server: 服务端守护进程;
zabbix_agentd:agent端守护进程;
zabbix_proxy:代理服务端,可选组件;
zabbix_get:命令行工具,手动测试数据采集;
zabbix_sender:命令行工具,运行于agent端,手动向server端发送数据;
zabbix_java_gateway:java网关;和java 的Aplication通信
Zabbix常用术语:
1主机(host):要监控的网络设备,可由IP或DNS名称指定;
2主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;
3监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,没有item, 将没有数据;相对某监控对像来说,每个item都由“key”进行标识;
4,触发器(trigger): 一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阈值;接收到的数据量大于阈值时,触发器状态将从“ok”转变为“Problem”,当数据再回归到合理范围内时,其状态将从“Problem”转回“OK”;
Maintenance 定义维护时间段
5 (event):即发生的一个值得关注的事情,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等;
6,(action):指对于特定的事情事先定义的处理方法,通过包含操作(如发送通知)和(条件执行操作);
7报警升级(escalation): 发送报警或执行远程命令的自定义方案,如每隔5 分钟发送一次报警,共发送5次等;
8,媒介(media):发送通知的手段或通道,如Email, Jabber或者SMS等;
9,通知(notification):通过选定的媒介向用户发送的有关某事件的信息;
10,远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;
11,模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item, trigger, graph, screen, application以及low-level discovery rule; 模板可以直接链接至单个主机;
12,(application):一组item的集合;
13,web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求;
14,前端(frontend);Zabbix的web接口;
zabbix安装:
依赖关系:
安装两种方式:
1, Source code
2,编译好的程序包:
rpm:也有两种方式:
1, epel
2,zabbix repository
deb
2.2长期维护版, 2.4, 3.0长期维护版
先配置好epel源;
例如
172.18.100.67 为服务器端,172.18.100.68为客户端
#ssh [email protected] 首先连接服务器端
#ssh [email protected] 然后连接客户端
第一步 先配置服务器端172.18.100.67
#cd /etc/yum.repos.d/
#ls
#vim CentOS-Base.repo 配置Base 源 确保是OK的
name=Fedora EPEL
baserul=http://172.18.0.1/cobbler/ks_mirror/7/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
第二步:也可以通过epel源
# vim epel.repo
[epel]
name=Fedora EPEL
baserul=http://172.18.0.1/fedora-epel/$releasever/$basearch
gpgcheck=0
# yum repolist
# yum list all | grep zabbix 查看有没有相关程序包
程序包用途:
zabbix-agent.:zabbix客户端,用来收集客户端各种参数
zabbix-get:zabbix的一个工具,用来获取数据
zabbix-proxy:x proxy可以非常简便的实现了集中式、分布式监控。
zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。
zabbix-sender:用于发送数据给server或者proxy。
zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和php,mysql等之间的依赖关系。
zabbix-web-mysql:这个是zabbix前段支持mysql的
第三种 也可以指向官方的源
fping 一秒中可以发送一百万个包
zabbix 不在yum源中 在epel源中
3.0为例:Centos
安装zabbix DB
# yum install mariadb-server
# systemctl start mariadb.service
#ss -tnl
#vim /etc/my.cnf
注意socket=/var/lib/mysql/mysql.sock 文件位置
skip_name_resolve=on
innodb_file_per_table=on
#systemctl restart mariadb.service
#ss -tnl 查看3306端口是否属于监听状态
#mysql 连入msql
mysql>CREATE DATABASE zabbix CHARSET 'utf8'; 创建一个名字zabbix的数据库,指定为utf8
>GRANT ALL ON zabbix.* TO zbxuser@’127.0.0.1‘ IDENTIFIED BY 'zbxpass'; 授权给一个名字为zbxuser用户,指向本地连接;
l>GRANT ALL ON zabbix.* TO zbxuser@’192.168.%.%‘ IDENTIFIED BY 'zbxpass'; 注意 这个位置不能出错
>FLUSH PRIVILEGES; 刷新;
>exit
例如
3.0
先安装zabbix DB:
#yum install mariadb-server
#systemctl start mariadb.service
mysql>CREATE DATABASE zabbix CHARSET 'utf8'; 创建一个名字zabbix的数据库,指定为utf8
>GRANT ALL ON zabbix.* TO zbxuser@’127.0.0.1‘ IDENTIFIED BY 'zbxpass; 授权给一个名字为zbxuser用户,指向本地连接;
l>GRANT ALL ON zabbix.* TO zbxuser@’192.168.%.%‘ IDENTIFIED BY 'zbxpass';
>FLUSH PRIVILEGES; 刷新;
>exit
安装服务端下面下面分开安装,也可以连起来安装:
1,# yum install zabbix-server-mysql zabbix-agent zabbix-get 安装所需的
安装web GUI:,
2,# yum install zabbix-web zabbix-web-mysql
安装agent端:
#yum install zabbix-agent zabbix-sender
安装之后的操作:
#cd /etc/zabbix/
#ls
#ls /usr/lib/systemd/system
#ls /usr/lib/systemd/system | grep zabbix
#rpm -qf /etc/zabbix/zabbix_server.conf
安装之后:
zabbix server数据库初始化;
2.x; 三个sql脚本;
3.x一个sql脚本;
# ls /usr/lib/systemd/system | grep zabbix
# rpm -qf /etc/zabbix/zabbix_server.conf
#rpm -qf zabbix-server-mysql
[root@master zabbix]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.2.11
/usr/share/doc/zabbix-server-mysql-3.2.11/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.2.11/COPYING
/usr/share/doc/zabbix-server-mysql-3.2.11/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.2.11/NEWS
/usr/share/doc/zabbix-server-mysql-3.2.11/README
/usr/share/doc/zabbix-server-mysql-3.2.11/create.sql.gz
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
[root@master zabbix]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
[root@master zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@master zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz 解压展开以后才会存在
[root@master zabbix-server-mysql-3.2.11]# ll
总用量 3864
-rw-r--r--. 1 root root 98 12月 27 23:09 AUTHORS
-rw-r--r--. 1 root root 783414 12月 27 23:09 ChangeLog
-rw-r--r--. 1 root root 17990 12月 27 23:09 COPYING
-rw-r--r--. 1 root root 3137133 12月 27 23:12 create.sql
-rw-r--r--. 1 root root 52 12月 27 23:09 NEWS
-rw-r--r--. 1 root root 188 12月 27 23:09 README
[root@master zabbix-server-mysql-3.2.11]# ll -h
总用量 3.8M
-rw-r--r--. 1 root root 98 12月 27 23:09 AUTHORS
-rw-r--r--. 1 root root 766K 12月 27 23:09 ChangeLog
-rw-r--r--. 1 root root 18K 12月 27 23:09 COPYING
-rw-r--r--. 1 root root 3.0M 12月 27 23:12 create.sql
-rw-r--r--. 1 root root 52 12月 27 23:09 NEWS
-rw-r--r--. 1 root root 188 12月 27 23:09 README
zabbix server数据库初始化;
# mysql -h127.0.0.1 -uzbxuser -p zabbix < create.sql 注意 导入脚本
Eenter password: zbxpass
#mysql
#SHOW TABLES; 如果导入成功,初始化就成功
create.sql
# mysql -h127.0.0.1 -uzbxuser -p zabbix < create.sql
启动zabbix-server进程:
#/usr/lib/systemd/system/zabbix-server.service
配置文件:/etc/zabbix/zabbix_server.conf
#cd /etc/zabbix/
#ls
#cp zabbix_server.conf{,.}
#vim zabbix_server.conf
可以用:grep "^####" zabbix_conf 查找有那些指令
指令有四类:
GENERALL PARAMETERS
ADVANCED PARAMETERS
LOADABLE MODULES
TLS-RELATED PARAMETERS
配置文件:/etc/zabbix/zabbix_server.conf
通用参数:
ListenPort=10051
SourceIP=
LogType=file
LogFile=/var/log/zabbix/zabbix-server.log服务端遍历文件路径
LogFileSize=0
PidFile=/var/rum/zabbix/zabbix_server.pid
DBHost=localhost
DBHost=127.0.0.1 指名地址
DBName=zabbix
DBUser=zbxuser
DBPasswore=zbxpass
DBSocket=/var/lib/mysql/mysql.sock
#ls /var/lib/mysql
启动服务:
#systemctl start zabbix-server.service
#systemctl status zabbix-server.service 来查看服务信息
注意:CentOS 7.0和7.1需要升级trousers程序最新版本;
#rpm -q trousers
#rpm -q hph-mysql
配置zabbix-web
配置php的时区指定;
vim /etc/httpd/conf.d/zabbix.conf
(1)php.ini
(2)#vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
# systemctl start httpd.service
#ss -tnl
下面是在浏览器端输入的地址:访问zabbix的web页面
访问http://172.18.100.67/zabbix
安装后配置文件:/etc/zabbix/web/zabbix.conf.php
登录:
admin/zabbix
database type MYSQL
Database host 127.0.0.1
Database port 0
Database name zabbix
User zbxuser
Password zbpass 这里是之前的密码
下一步
Host 172.18.100.67
Port 10051
下一步
访问路径URL:http://conf.d/zabbix.conf
安装配置文件:/etc/zabbix/web/zabbix.conf.php
以上是整理部分学习笔记,有坑要自己填。。。。