一.监控服务器登陆人数
需求:限制登陆人数不超1,超过1 发出报警信息
先从命令行角度:
1.明确需要执行的linux命令:
who | wc -l
2.手动创建zabbix配置文件,用于自定义key
/etc/zabbix/zabbix_agent2.conf #客户端
3.创建配置文件内容如下:
[root@zookeeper3 zabbix_agent2.d]#
[root@zookeeper3 zabbix_agent2.d]# cat userparameter_login.conf
UserParameter=login.user,who|wc -l
[root@zookeeper3 zabbix_agent2.d]#
[root@zookeeper3 zabbix_agent2.d]#
[root@zookeeper3 zabbix_agent2.d]#
[root@zookeeper3 zabbix_agent2.d]#
[root@zookeeper3 zabbix_agent2.d]# pwd
/etc/zabbix/zabbix_agent2.d
[root@zookeeper3 zabbix_agent2.d]#
在页面添加zabbix-server的自定义监控项模板:
· 创建模板
· 创建应用集(类似文件夹,放一堆监控项)
· 创建监控项(自定义item,想监控的内容)
· 创建触发器(当监控项获取到值时,进行和触发器比较,判断,决定是否报警)
· 创建图形
· 将具体的主机和模板链接关联
如何自动添加主机监控:
思路:
克隆监控模板,
自动注册和自动发现,
使用zabbix的api接口,利用curl语言,或者开发自己的编程脚本语言如python等
通过客户端连接:
web服务器 用curl查询
mysql 用sql语句连接验证
缓存数据库服务 数据读写验证
自动发现,自动注册
自动发现:(agent2是被动模式)
zabbix server主动去发现所有的客户端,然后将客户端的信息登记在服务端的机器上;
自动注册:(agent2是主动模式)
zabbix agent2主动上报自己的信息,发给zabbix-server;
配置host解析:
创建自动发现—动作:发现动作:启用----等待创建主机
部署分布式zabbix-proxy
三台机器:
zabbix-server 139
zabbix-proxy 130
zabbix-agent2 136
关闭防火墙不然后面启动代理时起不来;!
问题:
9月 28 16:22:47 test systemd[1]: Can’t open PID file /run/zabbix/zabbix_proxy.pid (yet?) after start: No such file or directory
原因:没有关闭SELinux的策略设置!
getenforce查看状态
如果SELinux是开启状态,它将显示"Enforcing"(执行模式);如果SELinux是关闭状态,它将显示"Permissive"(宽容模式)。
如果要关闭SELinux,可以按照以下步骤进行:
临时关闭SELinux(无需重启机器):
使用命令 setenforce 0。这会将SELinux设置为宽容模式。
修改配置文件。如果要永久关闭SELinux,需要编辑/etc/selinux/config文件,将SELINUX=enforcing改为`SELINUX=disable
reboot重新启动系统使更改生效
配置zabbix-proxy代理服务器,并部署数据库用于存储agent2发来的数据,最终发给zabbix-server:
配置zabbix5.0的yum源:
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
修改源地址:
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
安装proxy以及数据库:
yum install zabbix-proxy-mysql zabbix-get -y
启动数据库配置数据库用户存储zabbix-agent2信息数据:
yum install -y mariadb-server
systemctl start mariadb.service
systemctl enable mariadb.service
reboot
数据库sql设置:
mysql
#进入数据库
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
exit
导入zabbix-proxy数据库信息:
#查询sql文件在哪命令
rpm -ql zabbix-proxy-mysql
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.38/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy
修改zabbix-proxy配置文件,链接数据库的信息:
sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Server=127.0.0.1#Server=192.168.236.139#' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Hostname=Zabbix proxy#Hostname=test#' /etc/zabbix/zabbix_proxy.conf
检查代理服务器的配置文件zabbix-proxy:
grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
启动代理服务:
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
客户端需要改地址:
snmp监控
服务端安装snmp监控程序:
yum -y install net-snmp net-snmp-utils
开启snmp的配置
sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf
systemctl start snmpd.service
使用snmp命令:
# -v 指定协议版本 -c 指定暗号 sysname snmp的key
snmpwalk -v 2c -c public 127.0.0.1 sysname
修改页面的Zabbix server/模板/链接的模板:(去掉zbx模板然后添加snmp模板)
掉zbx模板:
Template App Zabbix Server
Template OS Linux by Zabbix agent
snmp模板:
Template OS Linux SNMP