编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

利用Zabbix监控系统SSH方式检测远程目标主机

wxchong 2024-10-21 12:59:31 开源技术 9 ℃ 0 评论

前面介绍了SSH协议的基本工作原理,我们知道客户端通过SSH方式可以远程登录到服务端上,从而操作远程主机。那么,现在我们就可以利用Zabbix监控系统的SSH检查方式将一些命令传递给远程主机,然后就可以收集到远程主机的一些返回信息,并且可以根据实际情况设置相应的触发器,从而到达监测远程主机运行状况的目的。


1.登陆Zabbix Web界面,点击配置–>主机–>创建主机。添加要检测目标主机的IP地址,因为SSH检查不需要在目标主机上安装Zabbix Agent,所以这里的10050端口无意义。


2.创建监控项。类型选择SSH客户端,键值为ssh.run[<unique short description>,<ip>,<port>,<encoding>] ,并可设置相应的参数,默认ssh端口为22。认证方法有两种,就是前面介绍的基于口令和基于密钥,这里选择密码口令的认证方式,输入目标主机的用户名和密码。


执行脚本中我们检测目标主机HTTP服务运行情况,可以使用简单的命令来进行查看,最终让它返回值为1,说明HTTP服务运行正常。


3.创建触发器。这样我们就可以创建一个触发器,当检测目标主机HTTP服务返回值不是1时,触发告警。



4. 查看最新数据。数据获取值为1说明目标主机的HTTP服务正常,如果为0则服务不正常。


5.测试通过命令“systemctl stop httpd”关闭目标主机的HTTP服务使它触发告警,这里通过邮件成功收到该告警信息。


通过SSH基于密码的方式安全性不是很高,我们可以看到在Zabbix Web界面上直接显示出用户名和密码,所以我们一般可采用基于密钥的认证方式。

1.目标主机上创建一个用户和密码。因为不建议直接采用root管理员权限用户供访问登录。

# groupadd zabbix
# useradd -g zabbix zabbix
# passwd zabbix
# tail -1 /etc/passwd
zabbix:x:1000:1000::/home/zabbix:/bin/bash

2.Zabbix服务器上也需要对zabbix用户进行相应的修改。

# tail -1 /etc/passwd
zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
# systemctl stop zabbix-server
# systemctl stop zabbix-agent
# mkdir /home/zabbix
# usermod -d /home/zabbix/ zabbix
# chown zabbix:zabbix /home/zabbix
# chmod 700 /home/zabbix
# usermod -s /bin/bash zabbix
# tail -1 /etc/passwd????????
zabbix:x:996:994:Zabbix Monitoring System:/home/zabbix/:/bin/bash
# systemctl start zabbix-server
# systemctl start zabbix-agent

3.修改zabbix server配置文件。添加公钥和私钥所在文件夹的完整路径。修改完后重启zabbix server。

# vi /etc/zabbix/zabbix_server.conf
### Option: SSHKeyLocation
#?????? Location of public and private keys for SSH checks and actions.
#
# Mandatory: no
# Default:
# SSHKeyLocation=
SSHKeyLocation=/home/zabbix/.ssh
?
# systemctl restart zabbix-server

4.Zabbix服务器上生成zabbix用户的公钥和私钥。


# ls -l /home/zabbix/.ssh/
total 8
-rw------- 1 zabbix zabbix 1675 Jan? 8 16:49 id_rsa
-rw-r--r-- 1 zabbix zabbix? 395 Jan? 8 16:49 id_rsa.pub

5.将zabbix公钥传送到远程目标主机上。


查看目标主机上已生成zabbix服务器分发过来的密钥。

# ls -l /home/zabbix/.ssh/
total 4
-rw-------. 1 zabbix zabbix 395 Jan? 8 16:53 authorized_keys

并且可在zabbix服务器上可以测试登陆到目标主机上。


6.这样我们就可以使用密钥认证方式创建监控项了,指定在/hom/zabbix/.ssh下的公钥和私钥文件。比如这里我们通过“df -h”收集远程主机文件挂载情况。


7.查看最新数据。可以看到收集到了目标主机的文件挂载情况了。


以上就是我们通过Zabbix监控系统SSH方式检测目标主机的全部内容了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表