运维监控之zabbix4.0(安装,自定义监控项)
Posted Linux土著运维攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维监控之zabbix4.0(安装,自定义监控项)相关的知识,希望对你有一定的参考价值。
简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
常用系统监控的命令
lscpu :查看cpu相关信息
uptime:查看系统负载
top:实时查看系统负载 按照内存排序按M 按1查看cpu个数
vmstat:查看内存 IO 交换分区 。。。加1是一秒刷新一次
mpstat:查看cpu的信息,加1是一秒刷新一次
htop:top升级版
free -m :查看swap分区
df -h :查看block -i查看inode
iotop:查看IO读写
netstat -tunlp :查看运行的服务及端口
环境准备
系统版本:CentOS Linux release 7.2.1511 (Core)
内核版本:3.10.0-327.el7.x86_64
关闭防火墙及selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config #重启生效
setenforce 0 #运行是关闭
IP:172.16.1.123
基础优化:略(如果想要优化脚本的联系我)
安装yum源和zabbix源
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
安装数据库
yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation #配置数据库 设置一个密码之后 一路yyyyyy
mysql -uroot -p -e “create database zabbix character set utf8 collate utf8_bin;” #建库
mysql -uroot -p -e “grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';” #授权
mysql -uroot -p -e “flush privileges;” #刷新一下 省的重启
安装zabbix
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent php httpd php-mysql
sed -i 's#Server=127.0.0.1#Server=192.168.110.138#' /etc/zabbix/zabbix_agentd.conf #修改server端为本机ip
配置数据库
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
导入数据
cd /usr/share/doc/zabbix-server-mysql-4.0.2/
zcat create.sql.gz | mysql -uroot -p zabbix //密码zabbix 对应数据库中新建的zabbix库
启动服务
systemctl restart zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent
netstat -tunlp|grep zabbix #查看一下 server监听10051端口 agent监听10050端口
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1326/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1688/zabbix_server
tcp6 0 0 :::10050 :::* LISTEN 1326/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 1688/zabbix_server
配置agent时区
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai 主要去掉#
启动httpd
systemctl restart httpd
systemctl enable httpd
浏览器访问http://192.168.1.123/zabbix/
一路设置~
默认用户名/密码:Admin/zabbix #新版本默认账号密码都是zabbix
安装完毕
4.0版本对比3.4版本优化了很多,参见:http://blog.51cto.com/433266/2293984
自定义监控项
监控nginx连接数
nginx端配置
安装
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install openssl -y
yum install nginx -y
systemctl start nginx
systemctl enable nginx
cd /etc/nginx/conf.d
vim nginx_status.conf
server {
listen 8866; #定义为8866端口
location /nginx-status { #自定义名称
stub_status on;
access_log /var/log/nginx/status.log;
auth_basic "NginxStatus";
}
}
重启
/usr/sbin/nginx -s reload
访问
http://192.168.1.123:8866/nginx-status
出现 这个就对了
配置zabbix
cd /etc/zabbix/zabbix_agentd.d/
vim nginx_status.conf
UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.1.123:8866/Nginxstatus" |grep Active |awk '{print $NF}'
测试
yum install -y zabbix-get
zabbix_get -s 192.168.1.123:8866 -p 10050 -k"nginx.active"
出现值为OK
点进去--创建应用集--起个名--创建--监控项--创建监控项
添加~
图形--创建图形--添加--选择--添加
如果有数据会显示在这里
如果想要设置连接数超过多少就报警,可以设置触发器
比如我设置连接数到10000就报警
点触发器,创建触发器
告警邮件配置
这里可以分用户,不同用户收到不同的报警邮件。如果觉得zabbix自带的告警不好用,可以用第三方或者自己写脚本来调。
PS:自己写脚本加到zabbix-agent的配置里,根据key值配置到页面。想监控什么就监控什么。
遇到的问题
字符集问题无法显示中文
解决办法
yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/fonts/DejaVuSans.ttf
sed -i s#"define('ZBX_GRAPH_FONT_NAME', 'graphfont');"#"define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');"#g /usr/share/zabbix/include/defines.inc.php
忘记登录密码
设置新密码:
生成加密的密码
[root@zabbix ~]# echo -n "your password" | openssl md5
(stdin)= e2798af12a7a0f4f70b4d69efbc25f4d
进入数据库
mysql -uroot -p
使用库
>use zabbix
查看
>select * from users;
更新密码
>update users set passwd='5fce1b3e34b520afeffb37ce08c7cd66' where userid = '1';
>flush privileges;
>\q
告警邮件配置
动作这里打开
报警媒介打开
随便加一个模板
发送成功
修改配置,优雅显示
以上是关于运维监控之zabbix4.0(安装,自定义监控项)的主要内容,如果未能解决你的问题,请参考以下文章
Zabbix4.0实战课程与Grafana可视化监控(全新企业级运维监控)