Zabbix运维监控工具
一、Zabbix简介
zabbix是一个基于WEB界面的、可以提供分布式监控以及网络监视功能的企业级的开源监控工具,具有非常强大数据收集、数据存储、绘图可视化的功能,在Linux常用的系统监控中具有非常大的优势和地位。zabbix能监视各种网络参数、保证服务器系统的安全运营;并提供灵活的通知机制或远程命令让管理员能快速定位,解决系统当前存在的各类问题。
zabbix的主要特点:
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能
zabbix监控的主要功能:
CPU负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
二、Zabbix的监控流程与常用术语
监控常用组件与每个组件的作用:
Zabbix Server:负责接收agent端发送的报告信息数据的核心组件,所有的配置,统计数据及操作数据都由该组件进行;
Zabbix Agent:部署于被监控主机上,负责收集本地主机的数据信息发送到server端或proxy端;
Database Stroage:主要负责存储由agent端发送到本机的信息数据;
Web Interface:提供一个可视化的web接口,可以非常清晰的看到每个数据指标的信息变化,与server运行在同一台主机上;
Zabbix Proxy:常用于分布式监控环境中,代理server去收集被监控主机的数据,并定时发送数据到server端;
Zabbix常用术语:
主机(host):需要监控的设备,可以是IP或DNS名称指定;
主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不
不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;
监控项(item):一个特定监控指标的相关的数据,这些数据来自于被监控对象;item是zabbix
进行数据收集的核心,没有item,将没有数据;相对于某监控对象来说,每
个item都由"key"进行标识;
触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合
理范围内,即为阈值;接收到的数据量大于或者超出所设定的阈值时,触
发器的状态将从"OK"转变为"Problem",当数据量再次回归到所设定的合理
范围内时,其状态又将从"Problem"状态变回为"Ok";
事件(event):即发生的一个值得关注的事情,例如触发器的状态的转变,新的agent或上线
的agent的自动注册等;
动作(action):指对于特定的事件事先定义的处理方法,通过包含操作(如发送通知)和条件
(何时执行操作);
报警升级(escalation):发送报警或执行远程命令的自定义方案,如每隔5分钟发送一次报警
共发送5次;
媒介(media):发送的通知的手段或通道,如Email、Jabber或SMS等;
通知(notification):通过选定的媒介向用户发送的有关某事件的信息;
远程命令(remote command):预定义的命令,可以在被监控主机处于某触发条件下自动执
行的命令;
模板(template):用于快速定位被监控主机的预设条目集合,通常包含了item、trigger、gra
ap、screen、application以及low-level discovery rule;模板可以直接链接至
某单个主机;
应用(application):一组item的集合;
web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求;
前端(frontend):zabbix的web接口;
zabbix的逻辑架构图:
三、zabbix的配置文件
服务器端配置文件(/etc/zabbix/zabbix_server.conf)
客户端配置文件(/etc/zabbix/zabbix_agentd.conf)
zabbix代理配置文件(/etc/zabbix/zabbix_proxy.conf)
服务器端配置文件zabbix_server.conf常用的配置参数:
参数 | 作用 |
---|---|
Logfile | 设置服务器端日志文件的存放路径 |
ListenIP | 设置服务器端监听IP |
ListenPort | 设置服务器端监听的端口号 |
PidFile | 设置服务器端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用数据库库名 |
DBUser | 指定zabbix数据库登录用户名 |
DBPassword | 指定zabbix登录数据库密码 |
DBPort | 指定zabbix数据库端口号 |
User | 指定zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
客户端配置文件zabbix_agent.conf常用配置参数:
参数 | 作用 |
---|---|
Server | 指定zabbix服务器的IP或域名 |
ServerActive | 指定zabbix服务器的IP或域名 |
Hostname | 指定本机的主机名,此项必须与web界面配置项一致 |
UnsafeUserParameters | 是否启用自定义监控项,可选值{1 |
UserParameter | 指定自定义监控脚本参数 |
LogFile | 设置客户端日志文件存放路径 |
四、部署搭建zabbix
环境说明:
角色 | IP地址 |
---|---|
服务器端 | 192.168.126.141(需要安装lamp架构) |
客户端 | 192.168.126.142 |
服务器端配置:
需要提前安装lamp架构,此处我已提前安装好,各位请自行安装此网站架构
[root@server html]# ss -tunlp | egrep "3306|80|9000"
tcp LISTEN 0 128 127.0.0.1:9000 *:* users:(("php-fpm",pid=7247,fd=0),("php-fpm",pid=7246,fd=0),("php-fpm",pid=7245,fd=0),("php-fpm",pid=7244,fd=0),("php-fpm",pid=7243,fd=0),("php-fpm",pid=7241,fd=6))
tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=7192,fd=13))
tcp LISTEN 0 128 :::80 :::* users:(("httpd",pid=6924,fd=4),("httpd",pid=6923,fd=4),("httpd",pid=6922,fd=4),("httpd",pid=6921,fd=4),("httpd",pid=6920,fd=4),("httpd",pid=6918,fd=4))
[root@server html]#
1)配置yum源
[root@server yum.repos.d]# ls
CentOS-Base.repo epel.repo jyy.repo zabbix.repo
[root@server yum.repos.d]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.2/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
[root@server yum.repos.d]#
[root@server html]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* epel: mirrors.tuna.tsinghua.edu.cn
repo id repo name status
base/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,019
*epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,174
jyy jyy enabled: 3,723
zabbix/x86_64 Zabbix Official Repository - x86_64 enabled: 27
zabbix-non-supported/x86_64 Zabbix Official Repository non-supported - x86_64 enabled: 4
repolist: 26,947
[root@server html]#
2)创建zabbix数据库和授权用户
[root@server ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>
MariaDB [(none)]>
MariaDB [(none)]>
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on zabbix.* to zabuser@"%" identified by "zabpass";
Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> exit
Bye测试一下zabbix用户是否登录正常:
[root@server ~]# mysql -uzabuser -p -h 192.168.126.141
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zabbix |
+--------------------+
3 rows in set (0.00 sec)
3)安装zabbix软件包并修改配置文件
[root@server yum.repos.d]# yum install zabbix-server zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender -y
.......安装过程省略......
[root@server zabbix-get-4.2.1]# cd /usr/share/doc/zabbix-server-mysql-4.2.1/
[root@server zabbix-server-mysql-4.2.1]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@server zabbix-server-mysql-4.2.1]# gunzip create.sql.gz
[root@server zabbix-server-mysql-4.2.1]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README
[root@server zabbix-server-mysql-4.2.1]# mysql zabbix < create.sql //导入建表sql语句;
[root@server zabbix-server-mysql-4.2.1]# 修改主配置文件:
[root@server ~]# cd /etc/zabbix/
[root@server zabbix]# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
[root@server zabbix]# vim zabbix_server.conf
DBHost=192.168.126.141 //修改数据库主机地址;
DBName=zabbix //存放数据的数据库名称;
DBUser=zabbix //连接数据库的用户名;
DBPassword=zabpass //连接数据库的密码:
DBSocket=/var/lib/mysql/mysql.sock //mysql启动的默认socket文件位置;
DBPort=3306 //数据库的端口号:[root@www zabbix]# systemctl restart zabbix-server
[root@www zabbix]# ss -tunlp | grep 10051
......查看是否有zabbix相关进程......
[root@www zabbix]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@www zabbix]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@www zabbix]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@www zabbix]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@www zabbix]#
[root@www html]# service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service
[root@www html]# service httppd restart
Redirecting to /bin/systemctl restart httppd.service
Failed to restart httppd.service: Unit not found.
4)进入安装页面
5)配置agent端主机
[root@agent ~]#
[root@agent ~]# rpm -q zabbix-agent
abbix-agent-4.2.1-1.el7.x86_64
[root@agent ~]# cd /etc/zabbix/
[root@agent zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@agent zabbix]# cp zabbix_agentd.conf{,.bak}
[root@agent zabbix]# ls
zabbix_agentd.conf zabbix_agentd.conf.bak zabbix_agentd.d
[root@agent zabbix]# vim zabbix_agentd.conf
Hostname=agent //修改为本地主机名;
Server=192.168.126.141 //服务端地址;
ServerActive=192.168.126.141 //修改为服务器端地址;[root@agent zabbix]# systemctl restart zabbix-agent
[root@agent zabbix]#
[root@agent zabbix]#
[root@agent zabbix]# ss -tunl | grep 10050
tcp LISTEN 0 128 *:10050 *:*
tcp LISTEN 0 128 :::10050 :::*
[root@agent zabbix]#
五、添加监控主机与告警机制
Zabbix完整的监控配置流程大体上由如下步骤组成:
Host group --> Hosts --> Appliation --> Items --> Trigger --> Event --> Actions --> User group --> Users --> Medias
1)首先我们创建一个主机组,并添加主机到该主机组中
尝试在192.168.126.142上关闭httpd服务再查看触发器状态
[root@agent ~]# systemctl stop httpd
[root@agent ~]# ss -tunlp | grep 80
[root@agent ~]#
Zabbix运维监控工具相关推荐
- 运维人必须掌握的 5 种常用运维监控工具
运维监控工具千千万,仅开源的解决方案就有流量监控(MRTG.Cacti.SmokePing.Graphite 等)和性能告警(Nagios.Zabbix.Zenoss Core.Ganglia.Ope ...
- 7个好用的运维监控工具,你在用哪个?
监控是运维这个职业的根本.尤其是在现在DevOps这么火的时候,用监控数据给自己撑腰,这显得更加必要. 有人说运维是背锅侠,那么,有了监控,有了充足的数据,一切以数据说话,运维还需要背锅吗,所以作为一 ...
- 开源运维监控工具open falcon
小米发布的运维监控工具:open falcon 项目地址:http://open-falcon.org/ Introduction 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时 ...
- 五款企业运维监控工具简单介绍-行云管家
维监控其实分很多方面,如:服务器.虚拟机.网络设备.VMware监控以及CPU.内存.磁盘.网络.邮件报告等等,侧重点不一样功能也会有些许的差异.今天我们小编就对五款企业运维监控工具进行简单介绍,希望 ...
- 运维监控工具之商用软件篇
在运维监控工具方面来说,开源产品对比商用平台在服务和安全等方面必然是存在着很多短板,也正因为有这些问题,所以国内企业,特别是中大型行业企业往往因此而拒绝开源产品,选择服务更有保障,产品安全性.稳定性更 ...
- 运维监控工具:zabbix和wgcloud的对比选型
最近也在想这个问题,我本身是java开发,WGCLOUD是国人开源的监控项目,设计思想是人人皆运维,极大降低运维学习难度,以下列几点比较下 1.如果你是java开发人员的话,我这么说,zabbix相当 ...
- 绝不能错过的10款最新OpenStack网络运维 监控工具
摘要 今天我们要推荐给大家的是关于奥斯汀OpenStack Summit的OpenStack网络方面功能与工具相关的技术演讲. 希望可以帮助国内的开发者.架构师和用户更好地了解OpenStack在SD ...
- 运维监控工具排名(前10名介绍)
Zabbix 官方网站:https://www.zabbix.com/ 推荐星级:★★★★★ Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联 ...
- Lnmp搭建zabbix运维监控系统
使用目的? 在公司项目中需要做一个日志监控,最开始选择的是efk,但是efk的资料相对较少并且之前对这几个产品都没接触过,使用起来难度.于是选择了zabbix作为项目的运维监控系统. zabbix能做 ...
- mysql运维监控工具排名_最全的监控工具盘点|无监控,不运维!
原标题:最全的监控工具盘点|无监控,不运维! 随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: ...
最新文章
- linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...
- 在 Spring 4.3.9下升级 Velocity 1.7.x to Velocity 2.0.x 出现的问题
- 皮一皮:太像了....
- 【Java 网络编程】TCP 服务器端 客户端 简单示例
- 成功解决 class 'AttributeError' : 'Editor' object has no attribute '_Editor__markerMap'
- c++STL容器的stack
- 计算机信息管理相关课题论文,计算机信息管理课题论文[].doc
- 关于慢开始、拥塞控制、快重传、快恢复算法的理解
- java 生产者消费者_Java多线程:线程间通信—生产者消费者模型
- W-Cms XSS和遍历目录漏洞
- 【静态ip保姆级教程他来了】
- drcom宽带认证登录超时_drcom宽带认证客户端登录超时
- 线性代数学习之正交性,标准正交矩阵和投影
- 回归分析——简单线性回归实例讲解(SPSS)
- 本地化部署方案 VS 云托管方案
- Python实战 | 送亲戚,送长辈,“ 月饼 ”可视化大屏来帮忙。
- 计算机网络笔记(王道考研) 第二章:物理层
- 会议OA项目排座功能以及送审功能
- 什么是多态,多态的实现
- DB-Day2 输入生日的月和日,计算出你下一个生日还有多少天