Zabbix监控服务01-基本介绍
Zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix由两部分构成 zabbix server与可选组件zabbix agent。
Zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
Zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix组件功能
zabbix-server:监控服务端
zabbix-agent: 监控客户端
zabbix-web: 监控网站服务
php: 处理动态请求
zabbix-proxy: 负责收集agent信息汇总,告知zabbix-server
搭建Zabbix监控环境
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
zabbix的主要特点:
-
安装与配置简单,学习成本低
-
支持多语言(包括中文)
-
免费开源
-
自动发现服务器与网络设备
-
分布式监视以及WEB集中管理功能
-
可以无agent监视
-
用户安全认证和柔软的授权方式
-
通过WEB界面设置或查看监视结果
-
email等通知功能
Zabbix主要功能:
-
内存使用
-
CPU负荷
-
磁盘使用
-
网络状况
-
端口监视
-
日志监视
Zabbix服务端安装与部署
第一个历程:下载安装zabbix yum源
官方源:
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
清华源:
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@m01 yum.repos.d]# vim zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
第二个历程:下载安装zabbix服务端相关软件
zabbix服务程序软件:zabbix-server-mysql
zabbix服务web软件:zabbix-web-mysql httpd php
数据库服务软件:mariadb-server
[root@m01 ~ ]# yum -y install zabbix-server-mysql zabbix-web-mysql httpd php mariadb-server
第三个历程:软件配置
[root@m01 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@m01 ~]# vim /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
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 max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
</IfModule>
第四个历程:编写配置数据库服务
启动数据库
[root@m01 ~]# systemctl start mariadb.service
创建zabbix数据库 --- zabbix
create database zabbix character set utf8 collate utf8_bin;
创建数据库管理用户
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
在zabbix数据库中导入相应的表信息
zcat /usr/share/doc/zabbix-server-mysql-4.0.20/create.sql.gz | mysql -uzabbix -pzabbix zabbix
第五个历程:启动服务
[root@m01 ~]# systemctl start zabbix-server.service
[root@m01 ~]# systemctl start httpd
10051 zabbix-server 服务端端口号
10050 zabbix-agent 客户端端口号
第六个历程:登录zabbix服务端web界面,进行初始化配置
第七个历程:登录zabbix服务web界面
用户名:Admin 密码:zabbix
客户端部署流程:
第一个历程:下载安装zabbix yum源
官方源:
清华源:
[root@m01 yum.repos.d]# vim zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
enabled=1
gpgcheck=0
第二个历程:下载安装zabbix客户端软件
[root@web01 ~]# yum -y install zabbix-agent
第三个历程:编写zabbix配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.61
第四个历程:启动zabbix-agent服务
[root@web01 ~]# systemctl start zabbix-agent.service
添加监控主机
第一步:点击配置 -- 主机 -- 创建主机
第二步:填写主机相关信息 -- 添加链接模板 -- 点击添加
第三步:点击监测 -- 最新数据
创建自定义监控项
需求:监控nginx服务是否启动
1)在zabbix-agent进行配置文件编写
第一个历程:自定义监控命令
ps -ef | grep -c "[n]ginx"
第二个历程:编写zabbix-agent配置文件
第一种方法:直接修改zabbix-agent配置文件参数
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=web_state,ps -ef|grep -c "[n]ginx"
第二种方法:在zabbix-agentd.d/目录中编写自定义监控文件
[root@web01 zabbix_agentd.d]# vim web_server.conf
UserParameter=键(变量名),值(变量信息)
UserParameter=web_state,ps -ef|grep -c "[n]ginx"
第三个历程:重启zabbix-agent服务
[root@web01 zabbix_agentd.d]# systemctl restart zabbix-agent.service
2)在zabbix-server命令行进行操作
第一个历程:检测自定义监控信息是否正确
[root@m01 ~]# yum -y install zabbix-get
[root@m01 ~]# zabbix_get -s 172.16.1.7 -k 'web_state'
2
3)在zabbix-server网站页面进行配置
第一个历程:进入创建监控项页面
配置 --- 主机 --- 选择相应的主机监控项 --- 创建监控项
第二个历程:如何配置监控项页面
名称 键值 更新时间间隔 应用集
第三个历程:检查是否收集到监控信息