zabbix 官方的安装文档是将zabbix运行在httpd上的,但现在大部分公司使用的全是nginx服务
下面就告诉大家将zabbix配置到nginx上运行。
前面的文章介绍了zabbix简单的安装,下面介绍下利用zabbix监控磁盘IO的方法
默认的 Zabbix 监控模板中,对于磁盘主要是剩余空间之类的监控,对于 IO 方面却没有,好在 Zabbix 提供了丰富的定制功能,可自行添加想要监控的任意内容。具体步骤如下:
1、 在被监控服务器的配置文件(/etc/zabbix/zabbix_agentd.conf)中添加以下内容:
###disk io UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}' UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}' UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}' UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}' UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
可以先测试看其是否生效,使用如下命令,看是否正常返回数字。注意在命令行运行时,grep 那里的 $1 需根据自己磁盘设定修改为 sda 或 sdb,awk 那里需去除一个 $ 符号。
cat /proc/diskstats | grep sda | head -1 | awk '{print $4}'
2、被监控主机重启 agent
/etc/init.d/zabbix_agentd_ctl restart
3、在 zabbix server 上测试能否接收数据,将其中的 AgentServerIP 修改为被监控服务器的IP,注意这里是在运行 zabbix 服务端的机器上执行此操作。如果返回的是一串数字则正确,如果返回ZBX_NOTSUPPORTED ,请检查确认被监控主机的 agent 是否有重启,网络端口是否开放。
zabbix_get -s AgentServerIP -p 10050 -k custom.vfs.dev.write.ops[sda]
4、在 zabbix web 配置界面的模板中,导入这里提供的模板。并将此模板关联到要监控的服务器主机上,很快就可以在 Latest data 中看到获取的数据并可画出趋势图了。
模板下载:点此下载
zabbix WEB环境搭建
zabbix的安装需要LAMP或者LNMP环境,为了方便直接用yum安装LAMP环境。
yum install mysql-server httpd php
需要其它的软件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.5/zabbix-2.2.5.tar.gz/download
tar zxvf zabbix-2.2.5.tar.gz
cd zabbix-2.2.5/database/mysql
create database zabbix;
grant all on zabbix.* to [email protected] identified by ‘zabbix’;
flush privileges;
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
groupadd zabbix
useradd zabbix -g zabbix
ln -s /usr/local/zabbix/etc /etc/zabbix
更改配置文件中数据库相关的用户名密码
vim /etc/zabbix/zabbix_server.conf
修改以下三项
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
更改agentd配置文件
vim /etc/zabbix/zabbix_agentd.conf
Hostname=LOG01
ServerActive=10.10.10.180:20051
cp -r /data/soft/zabbix-2.0.5 /frontends/php/ /var/www/html/zabbix/
chown -R zabbix.zabbix /var/www/html/zabbix
vim /etc/php.ini
date.timezone = Asia/Shanghai
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
mbstring.func_overload = 2
service httpd restart
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd
按照步骤一步步安装,我这里就不截图了,填好之前创建的数据库用户名密码
最后安装完,默认用户名 admin 密码:zabbix
这里初始安装已经完毕