Smokeping主从的作用,简单来讲就是增加多个smokeping主机对目标主机的监控。
1、环境部署,准备好两台已经安装好smokeping的主机,确保2台主机网络能够互访互通,且smokeping能够正常运行。
2、主smokeping配置
cd /usr/local/smokeping/etc //进入存放密码文件的目录
echo swbooo:123456 > smokeping_secrest.dist //指定slave的用户名和密码,若多个从则换行添加
chown apache:apache smokeping_secrest.dist //主smokeping的密码文件必须属于apache用户
chmod 600 smokeping_secrest.dist //主smokeping的密码文件权限必须是600cd /usr/local/smokeping/
chown -R apache:apache data //主的存放图像文件及子目录也必须属于Apache用户
3、从smokeping配置
#cd /usr/local/smokeping/etc/ //进入存放密码文件的目录
#cp smokeping_secrets.dist smokeping_slave_secrets //复制原密码文件并重命名
#echo 123456 > smokeping_slave_secrets //slave端只需要写入密码,是主上面为它配置的那个密码(注意,从服务器上面的密码文件的属主必须为smokeping的启动用户即root,所以无需修改从服务器的密码文件所属)#chmod 600 etc/smokeping_slave_secrets //修改密码文件权限,从的密码文件也必须为600
4、对主的apache的配置修改
在步骤3我们可以看出,从服务器的密码文件只添加了密码,那么从对主进行smokeping访问就会因为缺失账号认证而访问失败,即使在从密码文件添加账号也无法访问成功,原因在于smokeping的底层代码就是不带账号访问进行编程的,所以想要smokeping分布式主从部署成功,必须要让从 web访问主 成功,这里的方法是修改主的apache服务,对所有从服务器的IP进行放行,从访问主无需账号密码认证,进入/etc/httpd/conf,将httpd.conf最后的代码修改成以下代码即可。
<Directory "/usr/local/smokeping">
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny
Allow from 192.168.1.1 //添加白名单IP
Satisfy any //其余IP不放行
AuthName "Smokeping"
AuthType Basic
AuthUserFile /usr/local/smokeping/htdocs/htpasswd
Require valid-user
DirectoryIndex smokeping.fcgi
</Directory>
5、主从smokeping启动
由于对主的smokeping配置文件和apache文件进行了修改,所以2个服务都需要重启
systemctl restart httpd
systemctl restart smokeping
从的启动就比较关键,输入以下命令
/usr/local/smokeping/bin/smokeping --master-url=http://masterIP(请输入主的IP)/smokeping/ --cache-dir=/usr/local/smokeping/cache/ --shared-secret=/usr/local/smokeping/etc/smokeping_slave_secrets --slave-name=swboo --logfile=/var/log/smokeping.log
出现以下信息表示成功
Sent data to Server and got new config in response.
Note: logging to syslog as local0/info.
Daemonizing /usr/local/smokeping/bin/smokeping ...
6、登录主smokeping查看效果
我这边是一主3从的配置,成功出图和出数据。
上述如有错误请提出指正