学习zabbix

Posted wuhg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习zabbix相关的知识,希望对你有一定的参考价值。

一、zabbix监控简介

server: 通过收集snmp和agent发送的数据,写入数据库(mysql,ORACLE),再通过 php+apache 在 web 前端展示。

agent:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据

二、Zabbix功能

--具备常见的商业监控软件所具备的功能

主机的性能监控、网络设备监控、数据库监控、多种报警方式、实时绘图功能

--支持自动发现网络设备和服务器

--支持分布式,能集中展示、管理分布式的监控点

--扩展性强,server提供通用接口,可以自己开发完善各类监控

三、安装zbbix

yum源
cat /etc/yum.repos.d/a.repo 
[os]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=0


[zabbix]
name=zabbix
baseurl=http://mirrors.ustc.edu.cn/epel/6/x86_64/
enabled=1
gpgcheck=0

server 端:

1、安装zabbix-server
yum -y install zabbix22-server zabbix22-web zabbix22-web-mysql zabbix22-dbfiles-mysql zabbix22-agent mysql-server mysql php php-devel php-mysql

2、导入数据结构
service mysqld start
mysql
CREATE DATABASE zabbix CHARACTER SET utf8;
GRANT ALL ON zabbix.* TO zabbix@192.168.4.% IDENTIFIED BY zabbix;
FLUSH PRIVILEGES;
mysql -u root -p zabbix < schema.sql           各种表结构
mysql -u root -p zabbix < images.sql           基本数据
mysql -u root -p zabbix < data.sql             自带模板
mysql -e USE zabbix;SHOW TABLES;

3、配置文件
grep -n ^[a-Z] /etc/zabbix_server.conf 
39:LogFile=/var/log/zabbixsrv/zabbix_server.log
48:LogFileSize=0
68:PidFile=/var/run/zabbixsrv/zabbix_server.pid
77:DBHost=192.168.4.19
87:DBName=zabbix
103:DBUser=zabbix
111:DBPassword=zabbix
118:DBSocket=/var/lib/mysql/mysql.sock
458:AlertScriptsPath=/var/lib/zabbixsrv/alertscripts
466:ExternalScripts=/var/lib/zabbixsrv/externalscripts
507:TmpDir=/var/lib/zabbixsrv/tmp

agent

1、安装
yum -y install zabbix22-agent
2、配置文件
grep -n ^[a-Z] /etc/zabbix_agentd.conf
11:PidFile=/var/run/zabbix/zabbix_agentd.pid
21:LogFile=/var/log/zabbix/zabbix_agentd.log
30:LogFileSize=0
81:Server=192.168.4.19
122:ServerActive=127.0.0.1
133:Hostname=Zabbix server

访问http://192.168.4.19/zabbix

点Next

技术分享图片

修改配置文件

vim /etc/php.ini            
 945date.timezone = Asia/Shanghai          设置时区
 440max_execution_time = 300               最大执行时间,秒
 729post_max_size = 32M                    POST数据最大容量
 449max_input_time = 300                   服务器接收数据的时间限制
 457memory_limit = 128M                    PHP内存占用的容量限制
service httpd restart

技术分享图片

默认管理员账户密码:admin   zabbix

生成配置文件: /etc/zabbix/web/zabbix.conf.php

若切至中文有乱码,解决办法:

1、查看/etc/httpd/conf.d/zabbix.conf得知zabbix网页目录为/usr/share/zabbix/;

2、查看/usr/share/zabbix/include/defines.inc.php得知字体目录位置:

define(‘ZBX_FONTPATH‘,                             ‘/usr/share/fonts/dejavu‘);// where to search for font (GD > 2.0.18)

define(‘ZBX_GRAPH_FONT_NAME‘,           ‘DejaVuSans‘); // font file name;

3、将win中的任意字体(控制面板-->字体,例如仿宋或华文雅黑)复制到/usr/share/fonts/dejavu/下并覆盖改名为DejaVuSans.ttf;

添加一台主机

Configuration-->Hosts,Createhost-->

Host name(test2)

Visable name(test2)

New group(demo)

IP address(192.168.4.19)

Port(10050)

Status(Monitored)

添加报警:

注:报警针对用户和用户组;生产环境最好有短信平台,或晚上用SMS,白天email;

Administration-->Users-->选Zabbixadministrators旁的Users-->右上角Create User,User标签(Alias(demo),
Name(demo),Groups(Zabbix administrators),Password(demo)两次,勾选Auto-login-->Media标签,
Add,Type(Email),Send to(*@163.com),Add-->Permissions标签(User-type选Zabbix Super Admin)-->Save;

右上角logout,用demo登录;

注:Configuration-->Templates中的Applications应用集是监控项的集合,Item项目是监控的最小单位,有的Templates有Triggers有的没

四、添加mysql监控

添加项目:

Configuration-->Hosts,选test2中的Items-->点右上角Createitem,如下图创建,Name(mysql_check),Key(mysql_alive),update interval(in sec)(60),new flexible interval(300)-->Add,new application(MySQL),Description(MySQL Check)-->Save

 技术分享图片

agent 端的配置

vim /etc/zabbix/zabbix_agentd.conf
UserParameter=mysql_alive,mysqladminping | grep -c alive
service zabbix-agentd restart

添加 触发器

Configuration-->Hosts,选test2的triggers,右上角Createtrigger-->Name(MySQL down),Expression(点Add,如下图,点Select,test2的mysql_check,Function(选Last (most recent) T value is NOT N,N(1))-->Insert-->Severity(disaster) 

 技术分享图片

点Trigger标签旁边的Dependencies-->Add,选Zabbix agent on {HOST.NAME} is unreachable for 5minutes-->Save

 技术分享图片

添加图形:

Configuration-->Hosts,选test2的graph,右上角Creategraph,Name(mysql status),Graph type(Normal),Items-->Add,选test2的mysql_check,点Graph标签旁边的Preview可预览-->Save

 技术分享图片

添加报警

Configuration-->Actions,将Reportproblems to Zabbix administrators的status改为Enabled-->点Report problems to Zabbix administrators,Action标签中的项(要精简,一条短信是70个字符),Conditions,Operations(Operation details,from 1 to 3,第1次到第3次报警每次发送通知给指定的人,Operation type选Send message)-->先点Update-->再Save

 技术分享图片

技术分享图片

技术分享图片

五、添加报警邮件

配置邮箱

 vim /etc/mail.rc 
#######set mail
set from[email protected]163.com smtp=smtp.163.com
set smtp-auth-user=usertzc smtp-auth-password=password smtp-auth=login

添加脚本

cd /var/lib/zabbixsrv/alertscripts/   #(此目录下的脚本必须支持三个参数,介质参数(email or SMS),title,content)
vim /usr/lib/zabbix/alertscripts/mail.sh
#!/bin/sh
MAIL_TITLE=$2
MAIL_CON=$3
echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
echo "$1 $2 $3" >> /tmp/alert
chmod 755 send_mail.sh

配置报警邮件

Administration-->Media types-->Create media type,Name(send_mail),Type(Script),Script name(会自动生成),勾选Enabled-->Save

 技术分享图片

 Configuration-->Actions-->点Report problems to Zabbix administrators-->选Operations,Edit,Operation details中,User group为zabbix administrator,Send only to选send_mail-->Update-->Save

技术分享图片

Administration-->Users-->demo-->Media-->Add,Type(send_mail),Send to([email protected])-->Add-->Save

 技术分享图片

Administration-->Users-->Admin-->Media-->Add,Type(send_mail),Send to([email protected])-->Add-->Save

 技术分享图片

设置报警声音:

右上角Profile-->Messaging标签,勾选Frontend messaging;

 技术分享图片

测试:

1、将test2的mysqld停掉,#service mysqld stop|start

2、在Monitoring-->Dashboard中查看System status、Host status、Last 20issues中的Actions

less
/var/log/zabbixsrv/zabbix_server.log tail -f /var/log/maillog

 






以上是关于学习zabbix的主要内容,如果未能解决你的问题,请参考以下文章

java SpringRetry学习的代码片段

python 机器学习有用的代码片段

学习笔记:python3,代码片段(2017)

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

PHP必用代码片段

基于Zabbix实现监控Jenkins过程详解