zabbix监控系统上——zabbix下载及安装、zabbix的使用、zabbix实现信息采集、zabbix监控页面的模板帮助

目录

一、下载安装zabbix

1、zabbix官网

2、下载安装

 (1)安装zabbix仓库

(2) 安装zabbix服务

(3)安装zabbix前端

(4)创建初始数据库

(5)为Zabbix server配置数据库

 (6)为Zabbix前端配置PHP

 (7)启动Zabbix server和agent进程

3、测试

 二、zabbix的使用

1、官方使用文档

2、通过浏览器添加agent主机——将server7和server8设置为agent主机

(1)配置软件源(server7/8)

 (2)安装(server7/8)

 (3)配置agent端(server7/8)

 (4)在管理界面添加主机——手动添加

(5)在管理界面添加主机——自动扫描添加

(6)在管理界面添加主机——自动注册添加 

3、通过API添加agent主机

(1)zabbix的API官方文档说明

 (2)执行脚本获取zabbix主机的基本信息并验证

(3)检索主机(拿着获取到的“result”的值)

(4)通过API删除主机

​​(5)通过API创建主机

 三、zabbix实现信息采集

1、在server7中安装nginx

2、采集nginx本机中的并发连接数——通过命令行脚本

3、在server中测试采集效果

4、采集nginx本机中的并发连接数——通过浏览器管理页面

5、扩展应用——监测agent端nginx的转发、握手、请求次数

四、zabbix监控页面的模板帮助


 实验环境:三台纯净的虚拟机(RHEL7.6版本)

一、下载安装zabbix

1、zabbix官网

产品手册The official manuals provide detailed information about how to install, configure, and run Zabbix.https://www.zabbix.com/cn/manuals

2、下载安装

下载ZabbixZabbix is being downloaded over 4 000 000 times every year for a reason. Download Zabbix for free and try it yourself!https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

 (1)安装zabbix仓库

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

因为默认安装的zabbix源下载速度很慢,所以需要将源中的地址题换成阿里云地址

:%s/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g
#替换原zabbix源到阿里云源

替换完成后如下所示:

(2) 安装zabbix服务

yum install zabbix-server-mysql zabbix-agent

(3)安装zabbix前端

yum install centos-release-scl

这个软件属于centos的包,系统软件包中没有,因此需要通过阿里云下载。下在完成后安装。

激活zabbix前端的仓库

编辑配置文件 </etc/yum.repos.d/zabbix.repo >并且 <enable zabbix-frontend repository>.

安装zabbix需要的其他包

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl 

(4)创建初始数据库

第一步:安装5.7版本的mysql:

第二步:初始化数据库:

更改密码时有强度检测,新密码要求“大小写+数字+特殊符号”

 

 初始化完成后,进入数据库

第三步:在数据库中添加新库、添加用户并授权

mysql> create database zabbix character set utf8 collate utf8_bin;
                            #创建新库
mysql> create user zabbix@localhost identified by 'Westos+007';
                            #创建用户
mysql> grant all privileges on zabbix.* to zabbix@localhost;
                            #授权用户访问
mysql> quit;

第四步:向数据库中导入资料

zcat /usr/share/doc/zabbix-server-mysql-5.0.19/create.sql.gz | mysql -uzabbix -p zabbix

导入完成后,进入数据库查看

(5)为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf。添加密码,使得服务端可以随时访问。

 (6)为Zabbix前端配置PHP

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf。更改时区为“Asia/Shanghai”

 (7)启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm

启动完成后,如下图所示<php:9000> <zabbix_agentd:10050> <zabbix_server:10051> <mysqld::3306> <httpd:80> 全部搞定

3、测试

浏览器中输入<http://172.25.254.6/zabbix>,浏览器之嗯可以访问zabbix

这里的用户名为“Admin”,密码为“zabbix”

登录完成后,监控平台就出来了

设置操作界面语言为中文

 二、zabbix的使用

注意:由于后续实验中需要主机名和IP解析,因此需要更改一下主机名,对应关系为“server6/7/8”和“172.25.254.6/7/8”

1、官方使用文档

Zabbix 用户手册https://www.zabbix.com/documentation/5.0/zh/manual

2、通过浏览器添加agent主机——将server7和server8设置为agent主机

(1)配置软件源(server7/8)

添加zabbix源。从server1中将zabbix源复制到server7和server8中。

并在server7和server8中取消gpgcheck验证

 (2)安装<zabbix-agent>(server7/8)

yum install -y zabbix-agent

 (3)配置agent端(server7/8)

更改配置文件</etc/zabbix/zabbix_agentd.conf>

vim /etc/zabbix/zabbix_agentd.conf                     #更改配置文件如下所示
        117 Server=172.25.254.6

        158 ServerActive=172.25.254.6
        
        169 Hostname=server7
systemctl enable --now zabbix-agent.service    #设置开机自启动

 (4)在管理界面添加主机——手动添加

 以添加server7为例

添加监控项,里边有各种各样的模板,可以直接选择。

添加完成后出现一些监控项,框里的部分显示绿色就表示正常(灰色表示不生效,红色表示错误)

(5)在管理界面添加主机——自动扫描添加

启用自动扫描服务

更改自动扫描规则

自动扫描完以后会在主机界面显示刚才自动添加的主机(server8)

自动发现的局限:使用自动扫描功能只支持按照通用模板进行标准化扫描,如果需要添加其他种类的主机,就需要其他模板。因此引入“自动注册”。

(6)在管理界面添加主机——自动注册添加 

 先从主机界面删除server8,以server8为例自动注册过来。

 停用server端的“自动动作”和“自动发现”功能

 在“配置-动作”界面添加“”自动注册”功能

添加动作:

添加操作:

自动注册设置完成后,执行时会将所有包含“server”关键字的主机执行相应的注册动作。设置完成后重启server8的zabbix服务,agent就会自动连接

systemctl restart zabbix-agent.service            #重启zabbix-agent服务
#如果restart不行的话,就先stop后start一下

server端就会自动扫描到主机名为“server8”的agent主机。

3、通过API添加agent主机

(1)zabbix的API官方文档说明

19. APIhttps://www.zabbix.com/documentation/5.0/zh/manual/api

 (2)执行脚本获取zabbix主机的基本信息并验证

[root@server8 ~]# curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool

(3)检索主机(拿着获取到的“result”的值)

  1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
  2 {
  3     "jsonrpc": "2.0",
  4     "method": "host.get",
  5     "params": {
  6         "output": [
  7             "hostid",
  8             "host"
  9         ],
 10         "selectInterfaces": [
 11             "interfaceid",
 12             "ip"
 13         ]
 14     },
 15     "id": 2,
 16     "auth": "cc27cbe13e301fa3114b91cd160de99b"
 17 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool

 脚本执行后,会自动检索当前已连接的server和agent 主机。

(4)通过API删除主机

关闭浏览器管理界面的“自动发现”和“自动注册” 

删除server8,脚本中对应写入server8的ID

  1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
  2 {
  3     "jsonrpc": "2.0",
  4     "method": "host.delete",
  5     "params": [
  6         "10436"
  7     ],
  8     "id": 2,
  9     "auth": "cc27cbe13e301fa3114b91cd160de99b"
 10 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool

删除完成后,再次检索主机,已经没有了server8。同时在浏览器中对应的server8也会消失。

(5)通过API创建主机

  1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
  2 {
  3     "jsonrpc": "2.0",
  4     "method": "host.create",
  5     "params": {
  6         "host": "server8",
  7         "interfaces": [
  8             {
  9                 "type": 1,
 10                 "main": 1,
 11                 "useip": 1,
 12                 "ip": "172.25.254.8",                #要创建的主机IP
 13                 "dns": "",
 14                 "port": "10050"                      #新建的主机的端口
 15             }
 16         ],
 17         "groups": [
 18             {
 19                 "groupid": "2"                       #要加入的组ID
 20             }
 21         ],
 22         "tags": [
 23             {
 24                 "tag": "server3",                    #标签(可不加)
 25                 "value": "Linux server"
 26             }
 27         ],
 28         "templates": [
 29             {
 30                 "templateid": "10001"                #使用的模板ID
 31             }
 32         ]
 33     },    
 34     "id": 2,
 35     "auth": "cc27cbe13e301fa3114b91cd160de99b"        #zabbix主服务器的地址
 36 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool

 新建脚本并执行后,可以看到主机已经添加:

其中,获取主机组ID的方式:由此可知,groupid=2

获取模板ID:这里用到的模板ID为“10001”

 三、zabbix实现信息采集

1、在server7中安装nginx

tar zxf nginx-1.20.2.tar.gz                     #解压nginx包 
cd nginx-1.20.2                                 #进入解压后的目录
yum install -y gcc make prce-devel openssl-devel        #安装需要的依赖
./configure --with-http_stub_status_module --with-http_ssl_module     #校验这两个模块的依赖性
make && make install                            #安装
cd /usr/local/nginx/                        
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/        #创建nginx的软链接

更改配置文件:

启动后查看效果:

curl localhost/status

2、采集nginx本机中的并发连接数——通过命令行脚本

curl -s http://127.0.01/status | grep Active |awk '{print $3}'

通过nginx中(server7)采集,agent执行<nginx.active>后的命令脚本后,将返回值再传递给zabbix的server端(也就是server6)

3、在server中测试采集效果

yum install -y zabbix-get                #安装zabbix采集软件
zabbix_get -s 172.25.254.7 -p 10050 -k "nginx.active"    #采集上一步中定义的信息
           #-s:目标主机      -p:端口     -k nginx中定义的activa动作

4、采集nginx本机中的并发连接数——通过浏览器管理页面

 "5"名称可以随便写,但是“6”键值必须和脚本中定义的一致为“nginx.active”

为了便于监控,为这个值创建一个图形方便观察。

但是第14部分显示这里是乱码状态,因为zabbix中对中文支持不友好(也就是没有需要的字体)。 

乱码的解决方法:

cd /usr/share/zabbix/assets/fonts/        #进入zabbix字体设置目录
chmod 777 simkai.ttf 
rm -f graphfont.ttf                       #删除源有的软链接
ln -s simkai.ttf graphfont.ttf            #新建软链接到“简体中文”字体

在浏览器中重新刷新一下,字体显示正常。

5、扩展应用——监测agent端nginx的转发、握手、请求次数

配置文件更改完成后记得重启服务以生效。

其中,添加的命令如下:

在zabbix的server端通过命令行测试:

zabbix_get -s 172.25.254.7 -p 10050 -k "nginx.accept"        #转发
zabbix_get -s 172.25.254.7 -p 10050 -k "nginx.handle"        #握手
zabbix_get -s 172.25.254.7 -p 10050 -k "nginx.request"       #请求

在浏览器中操作步骤和上一步一样,最后效果如图所示:

四、zabbix监控页面的模板帮助

需要监控哪些指标,就从模板中查找,点开以后会有相应的官方文档的帮助

所有通过agent采集的指标的定义都在</etc/zabbix/zabbix_agentd.d>路径下的<.conf>文件中

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值