zabbix监控安装配置
1. Zabbix简介
基于web的开源软件,开源监控系统状态也可以监控网络设备。
和nagios不同的是zabbix会把获取的数据保存在数据库中,所以zabbix需要有数据库支持
Zabbix还可以自动发现主机和网络设备
支持邮件和短信告警
Zabbix大多配置都可以在web界面配置完成
官网http://www.zabbix.com/
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix 由2部分构成,zabbix server 与可选组件zabbix agent。
zabbix server 可以通过SNMP,zabbix agent ,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent 可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
zabbix server 可以单独监视远程服务器的服务状态;同时也可以与zabbix agent 配合,可以轮询zabbix agent 主动接收监视数据(trapping方式),同时还可被动接收zabbix agent 发送的数据(trapping方式)。另外zabbix server 还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
2、zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
3、zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
2. 安装zabbix
(1)rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm
安装rpm包的lamp环境 yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring
安装zabbix服务端:yum install zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel
/etc/init.d/httpd start; /etc/init.d/mysqld start
mysql -uroot -p -e "create database zabbix"
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql
mysql -uroot -e "grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix';
vim /etc/zabbix/zabbix_sever.conf
打开并增加DBUser=zabbix下的密码DBPassword=zabbix
验证sock是否正确
/etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start
可用netstat -lnp |grep zabbix查看端口(10050 agentd 10051 server)
(2)
1.1 安装依赖包:
yum -y install wget net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc
1.2 关闭防火墙:
#chkconfig iptables off
#/etc/init.d/iptables stop
#chkconfig ip6tables off
#/etc/init.d/ip6tables stop
需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
确认是否修改成功
# grep SELINUX /etc/selinux/config
然后重启系统即可
# reboot
[root@64 ~]# wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y epel-release
安装扩展YUM源
[root@lnmp ~]# yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring
安装rpm包的lamp环境
[root@lnmp ~]# yum install -y zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel
安装zabbix服务端
[root@lnmp ~]# /etc/init.d/zabbix-server start
Starting Zabbix server: [确定]
[root@lnmp ~]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [确定]
启动服务
[root@lnmp ~]# netstat -lnp(tuln)
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1817/zabbix_agentd
tcp 0 0 :::10050 :::* LISTEN 1817/zabbix_agentd
[root@lnmp ~]# less /var/log/zabbix/zabbix_server.log
1804:20160422:033154.767 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1804:20160422:033154.768 Database is down. Reconnecting in 10 seconds.
zabbix-server没有启动起来,因为MySQL没有启动
[root@zabbix ~]# /etc/init.d/mysqld start
[root@localhost ~]# yum install -y vim-enhanced
[root@zabbix ~]# vim /etc/my.cnf
character_set_server = utf8
添加
[root@zabbix ~]# mysql -uroot -e "create database zabbix"
创建数据库zabbix
[root@zabbix ~]# mysql -uroot --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
[root@zabbix ~]# mysql -uroot --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql
[root@zabbix ~]# mysql -uroot --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql
把数据导入数据库zabbix
[root@zabbix ~]# mysql -uroot -e "grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix';"
数据库创建zabbix用户
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
[root@zabbix ~]# /etc/init.d/zabbix-server start Starting Zabbix server: [确定]
[root@zabbix ~]# netstat -lnp |grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1457/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1738/zabbix_server
tcp 0 0 :::10050 :::* LISTEN 1457/zabbix_agentd
tcp 0 0 :::10051 :::* LISTEN 1738/zabbix_server
[root@zabbix ~]# /etc/init.d/httpd restart
2.网页安装zabbix
这时会遇到“zabbix server is not running”这样的错误,需要编辑一下 /etc/zabbix/zabbix_server.conf ,配置DBUser, DBPassword
http://IP/zabbix/访问安装,默认会有“It is not safe to rely on the system‘s timezone settings ”这样的警告信息(时区问题),需要vim /etc/php.ini
[root@zabbix ~]# vim /etc/php.ini
946 date.timezone ='Asia/Chongqing'
[root@zabbix ~]# /etc/init.d/httpd restart
点“next”
解决相关的报错信息, (vim /etc/php.ini)
[root@localhost ~]# vim /etc/php.ini
修改:
post_max_size = 8M
为:
post_max_size = 16M
修改
max_execution_time = 30
为
max_execution_time = 300
修改
max_input_time = 60
为
max_input_time = 300
[root@zabbix ~]# /etc/init.d/httpd restart
点“retry”
输入mysql相关信息, user "zabbix" password " zabbix" 其他默认 测试ok
点击“ next”
以下全部默认“next”最后点finish
默认管理员账号为 admin:zabbix
3.网页安装zabbix
浏览器访问 http://ip/zabbix, 默认会有“It is not safe to rely on the system‘s timezone settings ”这样的警告信息,需要vim /etc/php.ini 设置 date.timezone=“Asia/Shanghai”点next
解决相关的报错信息,点retry (vim /etc/php.ini)
输入mysql相关信息, 首先要测试一下,如果不通过,则需要调试,测试通过后,点next
Name 写127.0.0.1,(可以自定义)点next,再点next,最后点finish
默认管理员账号为 admin:zabbix
这时会遇到“zabbix server is not running”这样的错误,需要编辑一下 /etc/zabbix/zabbix_server.conf ,配置DBUser, DBPassword