zabbix使用指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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/ng inx.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,添加弹出的模板,然后更新
#Monitoring—Graphs,选择组,然后选择host及展示的图形
Zabbix 监控redis
1.创建采集脚本
我的监控采集脚本都放到了/user/local/zabbix/script/redis/,在这里创建脚本保存shell 脚本:
vim redis.sh
2.,编辑agentd配置文件
#监控redis状态,我们可以根据这个参数对应的监控项创建redis 状态触发器。

UserParameter=redis.status,/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 ping |grep -c PONG
#item参数如何get
UserParameter=redis_info[*],/etc/zabbix/script/redis/redis.s h $1 $2
重启agentd服务,使之生效。

相关文档
最新文档