
zabixx
Zabbix(发音为zæbix)是企业级开源解决方案,它基于WEB界面提供分布式系统监视和网络监视功能.
Zabbix可以监视各种网络参数,以确保服务器系统的安全运行;并提供灵活的通知机制,以允许系统管理员快速定位/解决各种问题.
Zabbix由两部分组成: zabbix服务器和可选组件zabbix代理.
zabbix服务器: zabbix监视服务器,负责接收代理发送的数据并进行处理. 端口: 10051
zabbix代理: 安装在每个需要监视的主机上,负责收集本地数据并将其发送到服务器. 端口: 10050
Zabbix服务器可以通过SNMP,zabbix代理,ping,端口监视等提供远程服务器/网络状态监视,数据收集和其他功能. 它可以在Linux,Solaris,HP-UX,AIXzabbix 监控,Free BSD,Open上运行BSD,OS X和其他平台.
监视系统的四个功能:
获取: 根据用户要求定期收集数据
存储: 为各种收集的数据保留存储空间.
可视化: 可视化收集的数据.
警报: 警报系统在一定条件下(超出合理间隔)触发
监控数据采集通道
SNMP: 简单网络管理协议
ssh / telnet
IPMI:
代理: (主/代理)
Zabbix安装和监视配置:
zabbix程序的组件:
zabbix_server: 服务器守护程序;
zabbix_agentd: 代理守护程序;
zabbix_proxy: 代理服务器,可选组件;
zabbix_get: 手动向代理发起数据收集请求的命令行工具;
zabbix_sender: 命令行工具,在代理端运行,手动将数据发送到服务器端;
zabbix_java_gateway: Java网关;
zabbix_database: MySQL或PostgreSQL;
zabbix_web: Web GUI
端口号: 10051
(官方下载和安装地址)
1. 首先部署zabbix服务器: (在yum仓库中添加zabbix库,您可以在阿里云上找到它)
wget(下载软件包)
yum install zabbix-release-3.4-2.el7.noarch.rpm(安装下载的软件包)
安装上述软件包后,将在/etc/yum.repos.d/下生成一个zabbix.repo文件. 只有使用此文件,才能成功安装以下软件包.
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent(安装包)
yum install mariadb-server httpd(安装)
输入:
mysql>创建zabbix字符集utf8整理utf8_bin; (创建zabbix)
mysql>授予zabbix的所有特权. *到zabbix@'192.168.60.%'由'centos'标识; (创建并授权zabbix用户登录到本地,因为和zabbix程序放在一起,所以使用localhost代替本地IP地址,如果需要单独放置,则需要指定IP zabbix程序所在的主机服务器的地址)
mysql>退出;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix(执行此步骤)
mysql -uzabbix -hlocalhost -pcentos(现在可以连接到;输入后,您可以查看生成的zabbixs的内容)
/etc/zabbix/zabbix_server.conf(修改配置文件)
DBName = zabbix(名称)
DBHost = 192.168.60.20(的地址)
DBPassword = centos(用于登录的密码)
vim /etc/httpd/conf.d/zabbix.conf(修改配置文件)

php_value date.timezone亚洲/上海(修改时区)
systemctl启动zabbix服务器(启动zabbix服务)
systemctl启动httpd(启动服务)
(在浏览器中访问此路径并安装zabbix;此IP地址是zabbix主要服务的IP地址)
单击“下一步”进入以下界面:



如果您需要更改而无需重新安装,只需修改上面的配置文件即可.

切换中文版本:


Updata应用程序就足够了.
监视独立主机(由zabbix-agent监视的主机): (简单的手动添加监视选项和参数: )
rpm -ivh zabbix-agent-3.4.11-1.el7.x86_64.rpm
rpm -ivh zabbix-sender-3.4.11-1.el7.x86_64.rpm
(安装以上两个软件包;以上两个软件包可在阿里云上下载)
vim /etc/zabbix/zabbix_agentd.conf(修改配置文件)
服务器= 192.168.60.20(更改为zabbix服务器服务器的地址)第97行
ServerActive = 192.168.60.20(更改为zabbix服务器服务器的地址)第138行
主机名= nod01(设置本机的主机名)第149行
systemctl启动zabbix-agent(启动服务)
ss -nult(检查端口号; 10050)
然后将主机仅添加到浏览器上zabbix的主界面中:
添加新组:

添加新主机:




创建一个新的应用程序级别:



创建一个监视项目:



最后,单击添加.
添加另一个触发器: (一个监视项可以定义多个触发器以响应不同级别的警告)



检查监视状态:


一旦检测到触发警报,就需要定义actio(动作)以相应地处理触发警告.
实验: 实现报警后nginx的简单监控和触发操作
从受监视的主机安装nginx服务,添加新的监视项目,定义新的触发器,并定义在触发警报后进行相应处理的操作.
在检测到的服务器上: yum install nginx -y; (包)nginx(启动服务)
在nod01上创建一个新的监视项目:

为nginx创建新的触发器进行警告处理时


添加后,检查已创建的nginx触发器:

在监视中->最新数据-> nod01可以看到nginx监视现在处于正常状态.

如果此时手动暂停Nginx服务,则zabbix监视将显示它已关闭.

在此处手动打开服务后,监视再次正常. 这时在监视->触发;将触发一个事件. 点击确认.

创建一个解决nginx触发警告失败的操作: (首先让他自动远程重启,如果仍然失败,则发送一条消息)
配置--->操作,以创建操作:




要进行测试,您需要在nod01上添加zabbix管理员权限: (仅用于临时测试,这在生产中很危险)
visudo

它也必须在受监视的服务器上:
vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands = 1(允许代理在本地执行命令)第74行
systemctl重新启动zabbix-agent(重新启动服务以使修改后的代理配置文件生效)
最后,手动停止受监视的Nginx服务,以查看是否可以自己修复. (如果有问题,请检查自定义脚本的编写是否错误)
定义通过邮箱发送警告的媒介: (仅在本地测试中使用)
在本地zabbix服务器服务器上安装邮件包; yum install mailx
管理->警报媒体类型;创建警报媒体

单击添加. 由于它是本机的邮件服务,因此只能在本机的用户之间发送.
有时: 管理--->用户--->管理员


然后添加nginx来触发警报的第二步:




恢复操作还会向用户发送电子邮件:


现在可以完成;当nginx执行操作中的脚本没有重新启动nginx服务时,它将执行第二步并向定义的用户通知消息发送电子邮件.
使用脚本创建脚本警报:
脚本放置路径: 在zabbix_server.conf配置文件中AlertScriptsPath参数定义的路径下;
/ usr / lib / zabbix / alertscripts /(只要将脚本放置在此目录中,就可以直接调用脚本名称)
在zabbix 3.0之后,这三个变量被定义为内部宏:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
Python警报脚本可以在Internet上找到. (已安装python执行环境)
示例脚本: 授予执行权限,并且测试执行可以成功.
#! / usr / bin / python
#coding: utf-8
导入smtplib
从email.mime.text导入MIMEText
从email.header导入标题
从email.utils导入parseaddr,formataddr
导入系统
def formatAddr(s):
名称,addr = parseaddr(s)
返回formataddr((标题(名称,'utf-8'). encode(),addr))
def send_mail(收件人列表,主题,内容):
mail_host ='smtp.exmail.qq.com'
mail_user ='973366980@qq.com'
mail_pass ='密码'
#以上内容根据您的实际情况进行修改
msg = MIMEText(content,'','utf-8')
msg [‘Subject’] =标头(主题,“ utf-8”). 编码()
msg [‘From’] = formatAddr('zabbix监视<%s>'%mail_user).encode()
msg [‘to’] = to_list
尝试:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(mail_user,to_list,msg.as_string())
s.close()
返回True
例外,e:
打印str(e)
返回错误
如果__name__ ==“ __main __”:
send_mail(sys.argv [1],sys.argv [2],sys.argv [3])

创建图形以显示数据信息:



定义图形后,在桌面上添加多个图形:
首先创建一个聚合图:





Zabbix宏定义:
宏: 宏,预设文本替换模式;变量
级别:
全局: 管理–>常规–>宏
模板: 编辑模板–>宏
主机: 编辑主机->宏(仅对当前主机有效)
如果在所有三个级别上都定义了宏,则主机级别将生效
类型:
内置宏: {MACRO_NAME}
文档参考:
自定义: {$ MACRO_NAME}
命名方式: 大写字母zabbix 监控,数字和下划线;不能以数字开头
1. 设置全局宏的界面:


设置参数时,可以用宏代替80端口,而不必编写80. (好处: 当您需要在许多地方将80端口更改为8080时,您不需要一一修改,您只需要在此处更改宏变量)
2. 用于配置主机宏的接口:


使用模板构建监视选项:
示例: 在现有主机上添加有关linux监视的选项; (使用模板添加)



您还可以自己创建一个新模板并对其进行自定义(与配置主机相同)
使用网络上的脚本来构建监视选项:
(您可以在此网站上找到所需的模板)

只需选择相应的版本.



下载模板文件后,将其导入到zabbix模板库中. 您可以调用导入的模板文件.

您可以通过以下搜索来查看它.

在受监视的服务器上:
vim /etc/zabbix/zabbix_agentd.d/test.conf(新配置文件)
定义一个键,然后您可以在监视端看到该键的值.
UserParameter = memory.used,/ usr / bin / free | / usr / bin / awk'/ ^ Mem / {print $ 3}'(内容)
systemctl重新启动zabbix-agent(重新启动服务,然后使键值生效)
yum install zabbix-get -y(在服务器端下载手动测试工具)
zabbix_get -s 192.168.60.21 -p 10050 -k“ memory.used”(已在服务器上手动测试)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-169173-1.html
我不犯人