Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。
今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。
首先,我们先来介绍下Zabblx:
一.Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor
二.监控服务器端Zabbix安装
服务器端需要安装mysql,httpd,php,zabbix_server 和zabbix_agent,其中zabbix_agent是为了让服务器监控自己。
2.1 zabbix WEB环境搭建
zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包
1.1安装主程序
# yum -y install httpd php mysql mysql-server php-mysql
1.2安装apache扩展
# yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
1.3安装php扩展
# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath
1.4安装mysql扩展
# yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
2.2 zabbix 数据库设置
zabbix数据库可以和zabbix服务器分离,采用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
#mysql -u root -p #mysql>create database zabbix character set utf8; #mysql>grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
*查看用户:mysql>select host,user,password from user ;
*删除用户:mysql>Delete FROM user Where Host='localhost' and user= ' ' ;
2.3 安装zabbix服务
2.3.1 增加zabbix用户和组
#groupadd zabbix #useradd -g zabbix -m zabbix (或者:#useradd zabbix -g zabbix -s /sbin/nologin)
官网下载解压软件包。
下载地址:http://www.zabbix.com/download.php
# wget http://fossies.org/unix/misc/zabbix-2.4.1.tar.gz # tar -zxvf zabbix-2.4.1.tar.gz # cd zabbix-2.4.1
2.3.2 导入数据库表(注意顺序)
#cd zabbix-2.4.1/database/mysql #mysql -uroot -pmysql zabbix < schema.sql #mysql -uroot -pmysql zabbix < images.sql #mysql -uroot -pmysql zabbix < data.sql
2.3.3 编译安装zabbix
[root@lw-02 zabbix-2.4.1]#./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可
#make
#make install
2.3.4 添加服务端口
#cat >>vim /etc/services <<EOF zabbix-agent 10050/tcp #Zabbix Agent zabbix-agent 10050/udp #Zabbix Agent zabbix-trapper 10051/tcp #Zabbix Trapper zabbix-trapper 10051/udp #Zabbix Trapper
2.3.5 拷贝启动脚本并修改
[root@lw-02 ~]#cp /opt/zabbix-2.4.1/misc/init.d/fedora/core/zabbix_* /etc/init.d/ [root@lw-02 ~]#chmod +x /etc/init.d/zabbix_*
[root@lw-02 ~]#vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix #修改为编译安装的路径 [root@lw-02 ~]# vim /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix #修改为编译安装的路径
2.3.6 配置zabbix web环境--httpd和php
(apache支持php链接:http://blog.csdn.net/fly542/article/details/7562316)
[root@lw-02 ~]# mkdir /var/www/zabbix [root@lw-02 ~]# cp -rf /opt/zabbix-2.4.1/frontends/php/* /var/www/zabbix/
修改apache配置文件添加虚拟主机 [root@lw-02 ~]# vim /etc/httpd/conf/httpd.conf 最后添加 <VirtualHost *:80> DocumentRoot /var/www/ </VirtualHost>
修改php配置文件 [root@lw-02 ~]# vim /etc/php.ini 在最后面添加 # zabbix server max_execution_time = 300 max_input_time = 300 memory_limit = 128M post_max_size = 32M date.timezone = Asia/Shanghai
2.4 修改配置文件,包括zabbix_server.conf和zabbix_agentd.conf
修改server配置文件,添加zabbix数据库密码
#vim /etc/zabbix/zabbix_server.conf LogFile=/tmp/zabbix_server.log PidFile=/tmp/zabbix_server.pid DBName=zabbix DBUser=zabbix #数据库用户 DBPassword=123456 #指定zabbix数据库密码 ListenIP=192.168.1.110 #服务器IP地址
修改Agentd配置文件,更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid #进程PID LogFile=/tmp/zabbix_agentd.log #日志保存位置 EnableRemoteCommands=1 #允许执行远程命令 Server=192.168.1.110 #agent端的ip Hostname=zabbix server #必须与zabbix创建的host name相同
2.5 启动服务
[root@lw-02 home]# /etc/init.d/mysqld start [root@lw-02 home]# /etc/init.d/httpd start [root@lw-02 home]# /etc/init.d/zabbix_server start [root@lw-02 home]# /etc/init.d/zabbix_agentd start
三.通过浏览器访问zabbix监控
浏览器打开: http://192.168.1.111/zabbix/
3.1
3.2
3.3
3.4
3.5
3.6 如果这一步提示"Fail",点击下载配置文件zabbix.conf.php并拷贝到/var/www/zabbix/conf/下
3.7
3.8 默认用户名/密码:admin/zabbix
如果zabbix server is running 值为No ,请查看iptables,selinux。
[root@lw-02 ~]# service iptables status iptables: Firewall is not running. [root@lw-02 ~]# getenforce Permissive
4. zabbix语言设置
貌似自2.25版本以后,zabbix语言选择里隐藏中文选项,开启方法:
修改文件:vim /var/www/html/zabbix/include/locales.inc.php 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false), 修改为 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
保存后刷新页面,如下图所示:
以上操作在zabbix 2.2.5修改通过
到此,server端配置成功。
更新:客户端安装可以查看:http://pynliu.blog.51cto.com/5027391/1569596