zabbix自动发现:
一:创建发现规则
配置-自动发现
名称:Local networkHaha
IP范围:192.168.1.1-255
检查-新的ICMP ping用于与其他对象ping的通的功能-添加
新的-Zabbix 客户端,键值:system.uname (system.uname方便后面自动分类Unix和Linux和Windows的系统类别)-添加-添加
二、主机自动加入主机组并关联模板
配置-动作-事件源改为自动发现-创建动作
名称:autoFindAction
不用管新的触发条件??不需要管
操作:
操作类型:添加主机-添加
新的-添加到主机 群组:linux servers-添加
新的-链接到模板:Template OS linux
管理-主机里面的ZBX是红色说明
zabbix自动注册:
HostMetadata=linux用于标示主机,能区分linux和windos系统
重启agent
控制中心:
网页:
关掉自动发现的规则和动作(因为自动注册和自动发现一样,两者不能同时开着,有排斥)
客户端:clone3
拷贝agent进来
注册的名称不变
修改客户端的配置文件
95:Server=监控中心的ip(为了被动模式生效最好写控制中心ip)
136:ServerActive=监控中心的ip(zhuce chengg dguanjian)
166:HostMetadata=linux
主机名:clone3
网页:
配置-动作-选自动注册创建动作
名称:auto-regist
zhuji yuan数据 似 linux 添加
动作
添加主机
添加到主机组:Linux Servers
操作类型的模板OS linux
更新
客户端:
重启服务
去网站观察
zabbix应用集:
自定义监控项:
clone1:
cat/proc/meminfo
UserParameter=memory.usage[*],/bin/cat/proc/meminfo |awk '/^$1/{print $$2}'这个*是变量,使用,memory.usage的一个应用集合,$符号要额外加一个
获取ip中LISTEN有多少个,wait有多少个:(思路:将那一列提取出来和ip一样处理)
netstat-tanp | awk ‘NR>2{print $6}’
netstat-tanp | awk ‘NR>2{state[$6]++}END{for(i in state){print state[i],i}}’哈哈,就像统计ip一样,利用到了万能公式
哈哈grep -i忽略大小写 -c “” 但是这个只能针对一个
netstat-tanp | grep -i “listen”|wc -l
最好用awk不要用cut、sort,因为服务器多了apache日志会很大,几个G,内存会不够用的,而awk是一行一行处理的,不会占用太大内存
客户机:clone3:
配置文件
293自定义监控项:UserParameter=stats.inf[*],netstat -tanp | grep -i “$1”|wc -l
重启服务
监控中心:
zabbix_get-s 监控对象ip -k stats.info[listen]
结果出来了,但是还出现了一推权限的问题
客户端:
netstat-tanp | grep “agent”
vim/var/log/zabbix/zabbix_agent.log日志里面也没有什么提示
监控中心:
vim/var/log/zabbix/zabbix_agent.log日志里面也没有什么提示
客户端:
useradd tom
su - tom
netstat-tanp | grep -i “established”
发现有些pid文件看不到,去掉-tanp的p
配置文件:
293自定义监控项:UserParameter=stats.info[*],netstat -tan | grep -i “$1”|wc -l为什么要使用*呢?因为这是为了能够传参数,stats.info[*,*]第一个*是$1,第二个*是$2
监控中心:
zabbix_get-s 监控对象ip -k stats.info[listen]
申请开网:
网卡配置文件:
注释IPADDR
BOOTPROTO=dhcp
重启网卡
企业微信百度一下
企业注册
注册完后登陆
我的企业-CorpID需要记住
通讯录-添加子部门
点勾,设置所在部门
这就是微信报警你要发给谁,那个部门那个人
自建应用,监控应用
AgentID需要记住
Secret需要记住
运维部-收件人的信息-账号名需要记住
CorpID=111
AgentID=222
Secret=333
账号名=444
我现在是NAT的怎么做呢?(注意)
网关、DNS
虚拟编辑器 NAT设置 网管
监控中心:
route adddefault gw 监控对象的ip
dns的vim resolv.conf
namesever 202.103.24.68这个是武汉电信的dns
pingbaidu.com监控中心能上网了
经验:关于网络的:关于上网的:将自动获取ip改为手动获取也能上网:
物理机:
如果自动获取ip能上网的话,cmd查看网关是多少,或在开始的任务栏里面有网络连接的图标,右键查看网关
然后将ip地址设置为网关的网段,这个网关的网段是在路由器主页里面设置的,最后再看一下你用的是什么网,电信、移动、还是联通?可以在百度里查看:
电信的就要查看电信的DNS,百度一下电信的DNS,然后添加DNS就行了
手机可以给电脑开热点,同样电脑也能给手机开热点,怎么开呢?
首先下载个360手机助手,然后点击左上角,出现寻找手机,点击那个wifi连接,下载完360免费wifi之后可以给手机开热点了,这个360免费wifi的快捷方式就出现在桌面上了
微信报警里面有个包拷贝到监控中心
./wechar--help
./wechar-agentid=222 -corpid=111 -corpsecret=333 -msg=”hello this is test” -user=444回车
微信那个网页:
企业应用-监控-接收消息,查看消息,手机上也能收到,(前提是监控中心能上网)
zabbix部分:
监控中心:
grep alert/etc/zabbix/zabbix_server.conf
有AlertScritpt
mv wechar/usr/lob/zabbix/alertscripts
zabbix网页:
管理-报警媒介类型-创建
名称:weixin
类型:脚本
脚本名称:wechat
脚本参数:-agentid=111,添加-corpid=222,添加-corpsecret=333,添加-msg={ALERT.MESSAGE}报警是什么信息就发什么信息,这个是宏,添加-user={ALERT.SENDTO}发给谁,大的添加按钮
管理-用户-定义一个可以接受报警媒介类型
Admin-添加类型weixin,收件人: 444
客户端:
systemctlstart zabbix-agent
网页:
配置-动作-触发器-boot_problem
操作,编辑
仅送到weixin点一下更新
监测中-问题
客户机:
df
12%没问题太小了,没有触发到界限
dd增加一下
zabbix网页中看看
周五测试:
开22端口老师有人来连接你的服务器,对于密码输入错误超过5次的人要把他们禁掉:
var/log/secure日志里面可以得到别人输入密码的信息
在哪可以禁止掉ip?防火墙或/etc/hosts.deny
计划任务里面每隔几分钟执行一下这个脚本
# 对于ssh输入密码连续错误3次的人会将它们拒绝掉ssh连入自己的服务器
# vimsshdeny.sh
#!/bin/bash
#author:litao
# 使用cut,不过最后还是要用到awk
>/var/log/secure
cat >>/etc/crontab <<ok
*/1 * * * * root for i in $(echo '`grep"PAM 2" /var/log/secure | cut -d " " -f3`');do grep `echo'"$i"'` /var/log/secure | grep "Connection" | cut -d "" -f9;done | sort | uniq -c | tr -s " " | cut -d " "-f3 | awk '{print "sshd:"`echo '$0'`}' > /etc/hosts.deny
ok
# 使用awk:
>/var/log/secure
cat >>/etc/crontab <<ok
*/1 * * * *root for i in $(echo '`grep "PAM 2" /var/log/secure | awk '\'''{print'$3'}''\''`');do grep "`echo '$i'`" /var/log/secure | grep "Connection" | awk '{print `echo'$9'`}';done | awk '{IP[`echo '$1'`]++}END{for (i in IP){print"sshd:"i}'} > /etc/hosts.deny
ok
# 我发现/var/log/secure是可以记录ssh登陆情况的,你直接vim进去删除所有的内容会导致日志无法记录的情况,此时需要重启systemctlrestart rsyslog服务,如果你想把/var/log/secure里面的内容清空的话,就需要用到> /var/log/secure清空命令,这个就不会导致不记录日志的问题了
# 对于ssh输入密码连续错误3次的人会将它们拒绝掉ssh连入自己的服务器的脚本
# 怎么定义秒级的计划任务啊?
# * * * * **是每分钟执行一次,也就是每60秒执行一次,我想60秒执行60次,就利用一个for循环,循环60次,每次花费1秒就行了呀
# * * * * ** root for l in `seq 60`;do 此处是你要写的代码 & sleep1;done 注意&必须要写,而且不能写成了&&
# 例如下面每秒钟计划任务、每秒计划任务:
>/var/log/secure
cat >>/etc/crontab <<ok
* * * * *root for l in $(echo '`seq 60`');do for i in $(echo '`grep "PAM 2"/var/log/secure | awk '\'''{print '$3'}''\''`');do grep "`echo '$i'`"/var/log/secure | grep "Connection" | awk '{print `echo '$9'`}';done | awk '{IP[`echo'$1'`]++}END{for (i in IP){print "sshd:"i}'} > /etc/hosts.deny& sleep 1;done
ok