学习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=usertzc@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(jowinchai@163.com)-->Add-->Save
Administration-->Users-->Admin-->Media-->Add,Type(send_mail),Send to(root@localhost)-->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(一)的更多相关文章
- 学习zabbix(三)
前言: 学习zabbix之前,不得不了解的是SNMP协议 SNMP:简单网络管理协议(Simple Network Protocol) Snmp由两部分组成,监控端和被监控端 监控模式: 主动模式:N ...
- 学习zabbix(六)
实验环境 实验用2到2台机器,实验所用机器系统环境如下,可以看到2台机器的主机名和IP地址 ? 1 2 3 4 5 6 7 8 9 10 [root@linux-node1 ~]# cat /etc/ ...
- 学习zabbix(五)
前言 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix组件主要分两个: zabbix-server和zabbix-agent.支持的监控协议有I ...
- zabbix学习-zabbix安装
本次安装教程完全参考官方rpm安装教程: https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_pa ...
- 学习zabbix(十)
Zabbix 3.0 基础介绍 [一] 一.Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更 ...
- 学习zabbix(九)
一.Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [roo ...
- 学习zabbix(八)
一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix 能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制 ...
- 学习zabbix(七)
zabbix自定义监控项 1.创建主机组,可以根据redis.mysql.web等创建对于的主机组 2.创建主机 3.创建Screens 4.自定义监控项 zabbix_agentd.conf配置文件 ...
- 学习zabbix(四)
一. 监控知识 1.硬件监控: 机房巡检,远程控制卡,IPMI 2.系统监控: cpu负载查看(指标):uptime(低于3),top(30%-70%), vmstat, mpstat 内存监控: f ...
- 学习zabbix(二)
超大规模门户网站集群架构: 运维30%的时间都在监控,监控要多维度: 监控(单机监控(系统监控).网络监控.应用监控.分布式监控): 业务监控(业务指标-->流量分析-->舆论监控): 流 ...
随机推荐
- 【C#基础概念】常量
常量的定义 常量是在编译时设置其值并且永远不能更改其值的字段. 使用常量可以为特殊值提供有意义的名称,而不是数字文本 常量是不可变的值,在编译时是已知的,在程序的生命周期内不会改变. 常量使用 con ...
- Linux经典100题及参考答案
转至:https://blog.csdn.net/yaoqiang2011/article/details/11908189 一.单选题 1. cron 后台常驻程序 (daemon) 用于: A. ...
- 通过修改profile 来修改账号的过期时间
转至:https://blog.csdn.net/xxzhaobb/article/details/80026028 查看账号的过期时间 SYS@test>select username,exp ...
- 反射、静态代理、动态代理(jdk、cglib)
一.反射 反射在之前的文章中详细的解释过了,简单概括就是:可以动态的获取到一个类内部的所有的信息,动态的去创建对象和使用对象以及可以操作对象的属性和方法. 二.代理 首先解释一下代理:使用一个代理对象 ...
- Qt:QDateTime
0.说明 提供时间日期的表达和相关函数. QDateTime通过日期+时间来构造一个日期时间.它综合了QDate和QTime的所有特性. 它可以通过系统时钟来获取当前DateTime.它还提供了比较时 ...
- iOS实现组件录屏视频不可见,用户肉眼可见(类似系统键盘效果)
系统键盘在密码框输入时,如果用户开启录屏,键盘在录屏得到的视频里会不可见,但是用户在录屏时却能看到. 为了实现这个效果,利用UItextfield在录屏下视频不可见的特性,将实现这一效果的私有UIvi ...
- JZ-026-二叉搜索树与双向链表
二叉搜索树与双向链表 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 题目链接: 二叉搜索树与双向链表 代码 /** * ...
- swoole 聊天室
1:宝塔终端安装php 2:宝塔终端检测是否安装好 php-v 3:宝塔面板安装swoole扩展,终端检测 php -m 查看扩展 扩展已经安装完毕
- 原生JS添加事件方法
事件 事件添加方式 EvenTarget.addEventListener(EvenName, functionName, option); EventName: example => clic ...
- Forms组件与钩子函数
目录 一:Forms组件 1.案例需求: 2.前端 3.后端 二:form表单前后端动态交互 1.form组件 2.为什么数据效验非要去后端 不能在前端利用js直接完成呢? 3.举例:购物网站 三:基 ...