欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zabbix 使用,线下 分布式监控线上服务

程序员文章站 2024-03-16 18:54:34
...

引言

为了节约服务租用成本,决定将线上的Zabbix 监控服务器释放掉,因此带来了好多工作上不便。
突发奇想的能不能部署到线下那?
1.安装没啥可说的看手册 传送地址
2.我和手册有一点点差异,我使用的是MySQL,不是 mariadb 但本质俩者一样
3.安装后打开web页,切记要重启 Contes7 使用以下命令 ,其他版本自行调整
4.zabbix-server 是只能安装在Linux上,windows 可以安装 zabbix-agent

重启服务
systemctl restart zabbix-server
重启web服务器
systemctl restart httpd
Contes 56 
service zabbix-agent restart

4.线下ip配置到线上去,查看办公室网络出口ip 百度ip 查到的ip地址 绑定在被监控的业务服务器上
列如 1.203.174.1*7

zabbix_agent 配置的允许连接的 Server IP
vim /etc/zabbix/zabbix_agentd.conf
被动模式
# 允许配置的IP信息从这个agent获取数据
# 可配置多个IP,用逗号分隔
Server=1.203.174.1*6,1.203.174.1*7
主动模式,线下监控线上请注释掉
# agent主动向这个Server推送数据
# 可配置多个IP,用逗号分隔
#ServerActive=127.0.0.1
zabbix_server 和 zabbix_agent 版本最好一致,小版本的差异影响不大
注意: 关闭防火墙,线上服务器要开放指定端口 10050

一、zabbix_agent 配置解读

配置文件说明 转载原文 以下摘录部分内容

配置zabbix-agent

ServerActive=10.0.0.105(zabbix-server的IP地址)
Timeout=15(超时时间)
AllowRoot=1(允许以root运行)
UnsafeUserParameters=1(允许特殊字符)
UserParameter(配置自定义key)
LogFile
日志文件路径
如果未配置,日志会记录到syslog中
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
取值范围:0-1024
默认值:1
日志文件大小,单位为MB。
0 - 关闭自动轮滚.

备注:如果日志文件到达了最大值并且文件轮滚失败,那么老日志文件会被清空掉

EnableRemoteCommands=0
默认值:0
是否运行zabbix server在此服务器上执行远程命令
0 - 禁止
1 - 允许
 StartAgents=3
 取值范围:0-100
默认值:3

zabbix启动之后开启被动监控的进程数量,如果设置为0,那么zabbix被动监控被禁用,并且不会监听相应端口,也就是说10050端口不会开启。

ServerActive=10.0.0.100:10052
zabbix_agent 主动监控server的ip地址,使用逗号分隔多IP,如果注释这个选项,那么当前服务器的主动监控就被禁用了

RefreshActiveChecks=120
取值范围:60-3600
默认值:120
多久时间(秒)刷新一次主动监控配置信息,如果刷新失败,那么60秒之后会重试一次

AllowRoot=0
默认值:0
是否允许使用root身份运行zabbix,如果值为0,并且是在root环境下,zabbix会尝试使用zabbix用户运行,如果不存在会告知zabbix用户不存在。
0 - 不允许
1 - 允许

User=zabbix
默认值:zabbix
运行zabbix程序的用户,如果AllowRoot被禁用,才有效果

Include=/etc/zabbix/zabbix_agentd.d/
Include=/usr/local/etc/zabbix_agentd.userparams.conf
Include=/usr/local/etc/zabbix_agentd.conf.d/
Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

包含自配置文件,不同的配置写到不同的文件中,然后include,配置文件会显得规范。例如: /absolute/path/to/config/files/*.conf. Zabbix 2.4.0开始支持正则表达式

zabbix_agent 参数

-i 安装
-d 卸载
-s 启动
-x 停止
-h 帮助
-c 配置文件位置

这个更详细 https://www.cnblogs.com/chuyiwang/p/9055912.html

二、安全篇 共享秘钥配置

Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享**(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候须加入 –with-openssl参数。本机安装了openssl可不用加

[aaa@qq.com scripts]# openssl rand -hex 32
ef52cbe2d1a35e6bb3c43b22bd4f1a1d7bf24d1ccb7c47f6a602425970da5432
 
# 将生成的**写入该文件
vim /etc/zabbix/zabbix_agent.psk
vim /etc/zabbix/zabbix_agentd.conf
 
#加入
TLSConnect=psk
TLSAccept=psk
#这是自定义的唯一性的秘钥id,列 PSKTest 在配置 web时用到
TLSPSKIdentity=PSK ID 
TLSPSKFile=/etc/zabbix/zabbix_agent.psk
#配置完成后重启zabbix_agent进程

将密文填入web中
Zabbix 使用,线下 分布式监控线上服务
配置好后重启下服务

将被监控的密文cp一份放到线下的 监控服务上 才可以使用下面的命令
流程是被监控主机生成秘钥 cp到监控主机 或者 前后俩者互换 同时pskid也要一致

[aaa@qq.com ~]# zabbix_get -s 117.78.3*.2*2 -p 10050 -k "login-user" --tls-connect psk --tls-psk-identity="PSKTest" --tls-psk-file /etc/zabbix/zabbix_agent.psk
1
[aaa@qq.com ~]#

只能在zabbix server端使用此命令
    zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP-address ] -k item-key 
    zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP -address ] --tls-connect cert --tls-ca-file CA-file [ --tls-crl-file CRL-file ] [ --tls-agent-cert-issuer cert-issuer ] [ --tls- agent-cert-subject cert-subject ] --tls-cert-file cert-file --tls-key-file key-file -k item-key 
    zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP-address ] --tls-connect psk --tls-psk-identity PSK-identity --tls-psk-file PSK-file -k item-key 
    zabbix_get -h 
    zabbix_get -V 
 
  OPTIONS
    -s, - host host-name-or-IP
      指定主机的主机名或IP地址。
    -p, - port port-number
      指定主机上运行的代理的端口号。默认值为10050。
    -I, - source-address IP-address
      指定源IP地址。
    -k,--key 项键
      指定要检索值的项的键。
    --tls-connect 值
    如何连接到代理。价值观:
          加密方式
             无加密连接(默认)
          PSK
          使用TLS和预共享**进行连接
          cert
          使用TLS和证书连接
    --tls-ca-file CA文件
    包含用于对等证书验证的*CA(s)证书的文件的完整路径名。
    --tls-crl-file CRL文件
    包含已吊销证书的文件的完整路径名。
    --tls-agent-cert-issuer颁发者 证书
    允许的代理证书颁发者。
    --tls-agent-cert-subject cert-subject
    允许的代理证书主题。
    --tls-cert-file 证书文件
    包含证书或证书链的文件的完整路径名。
    --tls-key-file **文件
    包含私钥的文件的完整路径名。
    --tls-psk-identity PSK-identity
    PSK身份字符串。
    --tls-psk-file PSK文件
    包含预共享**的文件的完整路径名。
    -h, - help
    显示此帮助并退出。
    -V, - version
    输出版本信息并退出。

三、错误排查

没有什么是比查日志更有效的办法

[aaa@qq.com ~]# tail /var/log/zabbix/zabbix_agentd.log
 19509:20200713:111344.939 failed to accept an incoming connection: connection from "1.204.22.120" rejected, allowed hosts: "1.203.174.188,1.204.4.208"
 19510:20200713:111356.456 failed to accept an incoming connection: from 1.203.174.188: unencrypted connections are not allowed

希望对你有用,可以点个赞呦!

相关标签: Linux_那些事儿