zabbix使用指南

  • 格式:docx
  • 大小:320.51 KB
  • 文档页数:8

zabbix使用指南

Zabbix使用指南

一.Zabbix介绍:

Zabbix是一个基于WEB界面的分布式开源监控系统,主要由2部分构成,Zabbix server与Zabbix agent,同时也支持Zabbix

proxy。底层采集程序使用C语言编写的Server和Agent,界面是通过php编写的web,采用MYSQL数据库来存储数据。

整个Zabbix其实就是一个框架,其中内置了一些针对各类OS的系统参数采集命令,可以直接调用,而其它的自定义监控参数,则可以通过各种脚本甚至程序来传递。Zabbix只管把最后的返回值通过agent拿到,存储统计,绘图(采用php的gd库进行绘图),根据定义的阈值进行报警等。

Zabbix存在的性能瓶颈主要在于磁盘的性能(数据库的写操作),而CPU 及内存占用相对较低。Zabbix agent和Zabbix server通信采用TCP连接,因此你只需要配置一条防火墙规则即可。

二.Zabbix安装配置:

系统环境:

Php version: 7.2.6

mariaDb version: 10.2.14

Nginx version 1.14.0

1、下载软件包

wget

https:///projects/zabbix/files/ZABBIX%20Latest%

20Stable/3.4.12/zabbix-3.4.12.tar.gz

2、解压软件包并安装依赖包

tar -zxvf zabbix-3.4.12.tar.gz

yum -y install net-snmp-devel libxml2-devel libcurl-deve

libevent libevent-devel libcurl

3、编译安装zabbix 切换进入zabbix目录:cd zabbix-3.4.12/

编译zabbix:./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

安装zabbix:make&&make instal

三.配置Zabbix:

数据库优化(具体情况根据机器配置来调整)

1、导入zabbix默认数据库

连接数据库:mysql -uroot -p123456

创建zabbix专用库:create database if not exists zabbix

default character set utf8 collate utf8_general_ci;

切换到zabbix库:use zabbix;

导入zabbix默认表:

source /test/zabbix-3.4.12/database/mysql/schema.sql;

source/test/zabbix-3.4.12/database/mysql/images.sql;

source /test/zabbix-3.4.12/database/mysql/data.sql;

2、创建zabbix用户和日志目录并给予权限

创建用户:useradd -s /sbin/nologin zabbix

创建目录:mkdir /usr/local/zabbix/logs

给予权限:chown -R zabbix:zabbix /usr/local/zabbix

3、配置zabbix服务端

4、配置zabbix客户端

5、启动zabbix客户端和服务端 启动客户端:/usr/local/zabbix/sbin/zabbix_agentd

启动服务端:/usr/local/zabbix/sbin/zabbix_server

6、拷贝zabbix的web应用程序至Apache网站根目录

cp -r /test/zabbix-3.4.12/frontends/php/* /var/www/html

7、通过浏览器安装zabbix

http://ip/index.php,初始化安装的默认账号:Admin,密码:zabbix

zabbix 实现nginx web监控

1,nginx开启nginx-status支持。–with-http_stub_status_module

配置站点文件添加如下location模块

location /nginx_status

{

stub_status on;

access_log off;

}

开启以后访问http://192.168.1.134/nginx_status是如下结果:

Active connections: 3

server accepts handled requests

798 798 1207

Reading: 0 Writing: 1 Waiting: 2

2.配置zabbix

2.1 导入模板,并需要将监控的主机链接到该模板

2.2 添加shell

/usr/local/zabbix/script/nginx/nginx.sh

添加/usr/local/zabbix/etc/zabbix_agentd.conf中的配置UserParameter=nginx.status[*],/usr/local/zabbix/script/nginx/nginx.sh $1 1.重启zabbix_agentd 后就可以看到监控数据了 zabbix监控php-fpm的性能

要nginx能输出php-fpm的状态必须要先修改php-fpm的配置,这个配置没有开启nginx 就没有办法输出php-fpm status

修改/usr/local/php/etc/php-fpm.conf 文件

注意:不是php.ini,如果没有配置添加配置

pm.status_path = /status

重启php-fpm

添加nginx的配置

打开/usr/local/nginx/conf/nginx.conf

location ~ ^/(status|ping) {

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_param SCRIPT_FILENAME

$document_root$fastcgi_script_name;

include fastcgi_params;

}

配置好之后重启一下nginx

service nginx restart 添加监控的shell脚本

nginx.sh

添加zabbix-agent配置

UserParameter=php-fpm.status[*],/usr/bin/curl -s

"http://127.0.0.1/status?xml" | grep "<$1>" | awk -F'>|<'

'{ print $$3}' 重启zabbix-agent

service zabbix-agent restart

导入模板

php-fpm_status.xml

现在就能看到数据了

Zabbix 自带MySQL监控模板

Z abbix3.0之后已经有MySql监控模板了,所以我们只要引用ZabbixServer自带的模板即可。zabbix默认有14个监控项

2.添加/usr/local/zabbix/etc/

vim f

# Zabbix Agent

[mysql]

host=localhost user=root password="root"

socket=/tmp/mysql.sock

[mysqladmin]

host=localhost

user=root

password="root"

socket=/tmp/mysql.sock

3.修改userparameter_mysql.conf:

UserParameter=mysql.status[*],echo "show global status

where Variable_name='$1';" | HOME=/usr/local/zabbix/etc/

/usr/local/mariadb/bin/mysql -N | awk '{print $$2}'

UserParameter=mysql.size[*],bash -c 'echo "select

sum($(case "$3" in both|"") echo "data_length+index_length";;

data|index) echo "$3_length";; free) echo "data_free";; esac)) from

information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo "

where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo

"and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc mysql

-N'

UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc/

/usr/local/mariadb/bin/mysqladmin ping | grep -c alive

UserParameter=mysql.version,/usr/local/mariadb/bin/mysql

-V

UserParameter=mysql.vars[*],echo "show variables where

Variable_name='$1';" | HOME=/usr/local/zabbix/etc/

/usr/local/mariadb/bin/mysql -N | awk '{print $$2}'

3.重启zabbix_agentd

4.Zabbix-web页面设置

#Configuration—Hosts—Zabbix server—Tempaltes,搜索MySQL,添加弹出的模板,然后更新