zabbix
实验环境:
服务端:192.168.36.131
客户端:192.168.36.129
iptables and selinux disabled
一.服务端配置
1.安装
# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/
zabbix-release-2.2-1.el6.noarch.rpm
# yum install zabbix-server-mysql zabbix-web-mysql
2.mysql数据库相关配置
问题:root进入mysql报错
解决:进入安全模式,修改mysql的root密码
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql>UPDATE user SET Password=PASSWORD(‘westos‘) where USER=‘root‘;
mysql>FLUSH PRIVILEGES;
mysql> quit
再进入成功,创建zabbix数据库
# /etc/init.d/mysqld restart
# mysql -u root -p
输入新密码
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql>grant all privileges on zabbix.* to [email protected] identified by ‘westos‘;
mysql> flush privileges;
mysql> quit
3.zabbix用户登录验证
# mysql -u zabbix -pwestos zabbix
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix |
+--------------------+
2 rows in set (0.00 sec)
mysl>quit
3.导入数据库sql脚本
# find / -name schema.sql
/usr/share/doc/zabbix-server-mysql-2.4.5/create/schema.sql
/usr/share/doc/zabbix-proxy-mysql-2.4.5/create/schema.sql
# find / -name data.sql
/usr/share/doc/zabbix-server-mysql-2.4.5/create/data.sql
# find / -name images.sql
/usr/share/doc/zabbix-server-mysql-2.4.5/create/images.sql
导入脚本 #按此顺序导入,否则会有报错
# mysql -u zabbix -pwestos zabbix < schema.sql
# mysql -u zabbix -pwestos zabbix < images.sql
# mysql -u zabbix -pwestos zabbix < data.sql
4.更改时区
# vim /etc/php.ini
946 ;date.timezone = Asia/Shanghai
5.启动服务
# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start
# /etc/init.d/httpd start
5.访问http://ip/zabbix
本次试验访问:http://192.168.36.131/zabbix
进入欢迎界面点击计入下一页
测试数据库连接->数据库名及用户名zabbix,passwd是之前设置过的密码
zabbix服务器配置
信息检验
提示信息
Username:Admin;Password:zabbix
二.客户端配置
1.安装
# yum install -y zabbix-agent-2.4.5-1.el6.x86_64.rpm
# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.36.131
ServerActive=192.168.36.131
name=test2.example.com
# /etc/init.d/zabbix-agent start
# netstat -antlp
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4367/zabbix_agentd
tcp 0 0 :::10050 :::* LISTEN 4367/zabbix_agentd
三.微信报警
# git clone https://github.com/lealife/WeiXin-Private-API
微信脚本
/usr/lib/zabbix/alertscripts/weixin.sh
Administration->Media types->create media type,添加微信报警
Administration->Users->右侧下拉列表中选择Users->Admin->Media添加add
Configuration->Actions->Create action,Action选项添加如下
Operations选项添加如下
四.zabbix邮件报警
Administration->Media types->create media type,添加邮件报警
Administration->Users->右侧下拉列表中选择Users->Admin->Media添加add
Configuration->Actions->Create action,Action选项添加如下
Operations选项添加如下
五.trigger触发器
cpu使用率监控
system.cpu.util[<cpu>,<type>,<mode>]
system.cpu.util[0,user,avg5]
cpu具体编号就是CPU的具体核心
type就是CPU的不同状态值
idle, nice, user (default), system (default for Windows), iowait, interrupt, softirq, steal
其中idle表示空闲,user表示用户使用
最后的avg5表示平均每5分钟的值,为空表示当前值,要改成平均每15分钟只需要写成avg15
当前CPU使用率写成system.cpu.util[,user]即可,同理system.cpu.util[,idle]
内存监控
vm.memory.size[<mode>]
total (default), active,anon, buffers, cached, exec, file, free,
inactive pinned, shared, wired, used, pused, available, pavailable
Trigger severity用来显示Trigger 的级别,zabbix支持一下几个警报级别。
级别 含义 颜色
Not classified 未知 Grey
Information 系统信息 Light green
Warning 警告 yellow
Average 一般性问题 orange
High 严重警告 red
Disaster 数据丢失 Bright red
分级别的目的:1不同的警报代表不同的颜色 2声音警报,不同的级别的可以用不同的声音做警报提示。 3不同的级别使用不同的报警通知方式,比如sms email……..
trigger支持的单位
s 秒 h 小时
m 分 d 天
w 星期 K Kilo
M mega G giga
T tera P peta
E exa Z zetta
Y yotta
实例,Configure->Hosts->triggers
例1:磁盘分区的监控
vfs.fs.size[fs,<mode>]
mode,默认是total,剩下的就是free,used,pfree,pused,p百分比,此处单位为%
对应的单位就是B(这里的意思是Byte)和%,如果监控大小:Numeric (unsigned) Decimal
在zabbix服务端对客户端分区情况抓取
# zabbix_get -s 192.168.36.167 -p 10050 -k "vfs.fs.size[/dev/sda2,used]"
241664
新建item,对分区/dev/sda2使用情况监控
新建触发器,主机/dev/sda2使用空间大于20%报警
例2:/etc/passwd发生改变 diff函数
首先添加一个item:Configure->Hosts->Items,项目用来检测文件md5值
调用diff函数
例3:网卡流量5分钟持续超过100k则报警