南宁网站建设制作定制,做网站要排版吗,企业网站建设新闻发布,电脑网页打不开是什么问题一、概述
官方文档
结构体系
Zabbix 由几个主要的软件组件组成。他们的职责概述如下。
Server
Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
数据存储
Zabbix 收集的所有配置信息以及…一、概述
官方文档
结构体系
Zabbix 由几个主要的软件组件组成。他们的职责概述如下。
Server
Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
数据存储
Zabbix 收集的所有配置信息以及数据都存储在数据库中。
Web 界面
为了从任何地方和任何平台轻松访问Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分通常但不一定与 server 运行在同一台设备上。
Proxy
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分但是对于分散单个 Zabbix server 的负载非常有用。
Agent
Zabbix agent 部署在被监控目标上以主动监控本地资源和应用程序并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始有两种类型的 agent 可用Zabbix agent 轻量级在许多平台上支持用 C 编写和 Zabbix agent 2 非常灵活易于使用插件扩展用 Go 编写。
数据流
此外回顾一下 Zabbix 中的整体数据流也是很重要的。为了创建一个收集数据的监控项必须首先创建一个主机。另一方面 Zabbix 必须首先拥有一个监控项来创建触发器。必须有触发器才能创建动作。因此如果你想收到 服务器 X 上的 CPU 负载过高的警报必须首先为 服务器 X 创建一个主机条目然后创建一个用于监控其 CPU 的监控项然后是一个触发器如果 CPU 过高则触发动作然后通过通过动作操作向您发送电子邮件。这可能看起来像很多步骤其实使用模板并不需要。而且由于这种设计可以自定义创建非常灵活的设置。
二、定义
host主机 - 要通过 IP/DNS 监控的联网设备。
host group主机组 - 主机的逻辑分组它可能包含主机和模板。主机组中的主机和模板没有以任何方式相互链接。在为不同用户组分配主机访问权限时使用主机组。
item监控项 - 你想要接收的主机的特定数据一个度量/指标数据。
value preprocessing值预处理 - 在数据存入数据库之前 转化/预处理接收到的指标数据。*
trigger触发器 - 一个被用于定义问题阈值和 “评估” 控项接收到的数据的逻辑表达式。 当接收到的数据高于阈值时触发器从 ‘Ok’ 变成 ‘Problem’ 状态。当接收到的数据低于阈值时触发器保留/返回 ‘Ok’ 的状态。
event事件 - 一次发生的需要注意的事情例如 触发器状态改变、自动发现/agent 自动注册。
event tag事件标签 - 预设的事件标记 可以被用于事件关联权限细化设置等。
event correlation事件关联 - 一种灵活而精确地将问题与其解决方法联系起来的方法 比如说你可以定义触发器A告警的异常可以由触发器B解决触发器B可能采用完全不同的数据采集方式。
problem问题 - 一个处在 “问题” 状态的触发器。
problem update问题更新 - Zabbix 提供的问题管理选项例如添加评论、确认、更改严重性或手动关闭。
action动作 - 对事件作出反应的预先定义的方法。 一个动作由多个操作例如发送通知)和条件什么情况下 执行操作组成。
escalation升级 - 用于在动作中执行操作的自定义场景发送通知/执行远程命令的序列。
media媒体 - 发送告警通知的渠道传输媒介。
notification通知 - 通过选定的媒体通道发送给用户的关于某个事件的消息。
remote command远程命令 - 在某些条件下在受监控主机上自动执行的预定义命令。
template模板 - 可以应用于一个或多个主机的一组实体集 包含监控项、触发器、图表、低级别自动发现规则、web场景等。 模版的应用使得主机上的监控任务部署快捷方便也可以使监控任务的批量修改更加简单。模版是直接关联到每台单独的主机上。
web scenarioweb 场景 - 检查一个网站的可用性的一个或多个HTTP请求。
frontend前端 - Zabbix的web界面。
dashboard仪表盘 - web界面的可定制部分以可视化的单元又叫小部件显示重要信息的摘要和可视化。
widget小部件 - 在仪表板中使用的显示某种类型和来源的信息摘要、地图、图表、时钟等的可视化单元。
Zabbix API - Zabbix API 允许您使用 JSON RPC 协议来创建、更新和获取 Zabbix 对象如主机、监控项、图表等或执行任何其他自定义任务。
Zabbix server - Zabbix 软件的中央进程执行监控、与 Zabbix proxy 和 agent 交互、计算触发器、发送通知数据的中央存储库。
Zabbix proxy - 一个可以代表 Zabbix server 收集数据的进程减轻 server 的一些处理负载。
Zabbix agent - 部署在被监控目标上以主动监控本地资源和应用程序的进程。
Zabbix agent 2 - 新一代 Zabbix agent主动监控本地资源和应用程序允许使用自定义插件进行监控。
encryption加密 - 使用传输层安全 (TLS) 协议 支持Zabbix组件serverproxyagentzabbix_sender 和 zabbix_get 实用程序之间的加密通信 。
network discovery网络发现 - 网络设备的自动发现。
low-level discovery低级别自动发现 - 自动发现特定设备上的底层实体例如文件系统、网络接口等)
low-level discovery rule自动别自动发现规则 - 用于在设备上自动发现低级别实体的一组定义。
item prototype监控项原型 - 带有某些参数作为变量的度量为低级别自动发现做好了准备。 在低级别自动发现之后变量被自动替换为实际发现的参数度量标准自动开始收集数据。
trigger prototype触发器原型 - 以某些参数作为变量的触发器为低级别自动发现做好准备。 在低级别自动发现之后变量被自动替换为实际发现的参数触发器自动开始计算数据。
其他一些 Zabbix 实体的 原型 也在低级别自动发现中使用 - 图形原型、主机原型、主机组原型。
agent autoregistrationagent 自动注册 - Zabbix agent 自动注册为主机 并开始监控的自动化过程。
三、安装部署docker
示范了如何运行 MySQL 数据库支持的 Zabbix Server 、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java 网关
1. 创建专用于 Zabbix 组件容器的网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net2. 启动空的 MySQL 服务器实例
docker run --name mysql-server -t \-e MYSQL_DATABASEzabbix \-e MYSQL_USERzabbix \-e MYSQL_PASSWORDzabbix \-e MYSQL_ROOT_PASSWORDroot \-v /data/zabbix/db:/var/lib/mysql\-p 3306:3306 \--networkzabbix-net \--restart unless-stopped \-d mysql:8.0 \--character-set-serverutf8 --collation-serverutf8_bin \--default-authentication-pluginmysql_native_password3. 启动 Zabbix Java 网关实例 docker run --name zabbix-java-gateway -t \--networkzabbix-net \--restart unless-stopped \-d zabbix/zabbix-java-gateway:alpine-5.4-latest4. 启动 Zabbix server 实例并将其关联到已创建的 MySQL server 实例
如果有配置文件zabbix_server.conf和目录alertscripts可以上传到宿主机后挂载如果没有就删除-v /data/zabbix/zabbix-server:/etc/zabbix和-v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
docker run --name zabbix-server-mysql -t \-e DB_SERVER_HOSTmysql-server \-e MYSQL_DATABASEzabbix \-e MYSQL_USERzabbix \-e MYSQL_PASSWORDzabbix \-e MYSQL_ROOT_PASSWORDroot \-e ZBX_JAVAGATEWAYzabbix-java-gateway \-v /data/zabbix/zabbix-server:/etc/zabbix \-v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \--networkzabbix-net \-p 10051:10051 \--restart unless-stopped \-d zabbix/zabbix-server-mysql:alpine-5.4-latest5. 启动 Zabbix Web 界面并将其关联到已创建的 MySQL server 和 Zabbix server 实例
添加中文简体文件 从主机C:\Windows\Fonts上传一个.ttf的字体文件到/data/zabbix/fonts目录并将文件名称改成DejaVuSans.ttf
docker run --name zabbix-web-nginx-mysql -t \-e ZBX_SERVER_HOSTzabbix-server-mysql \-e DB_SERVER_HOSTmysql-server \-e MYSQL_DATABASEzabbix \-e MYSQL_USERzabbix \-e MYSQL_PASSWORDzabbix \-e MYSQL_ROOT_PASSWORDroot \-v /data/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf \--networkzabbix-net \-p 80:8080 \--restart unless-stopped \-d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest主机IP:80成功访问页面初始用户名密码Adminzabbix
6. 监控zabbix服务端主机
docker run --name zabbix-agent2 -t \-e ZBX_SERVER_HOSTzabbix-server-mysql \-e ZBX_SERVER_PORT10051 \-e ZBX_HOSTNAMEZabbix server \--networkzabbix-net \-p 10050:10050 \--restart unless-stopped \-d zabbix/zabbix-agent2:alpine-5.4-latest8. 完整docker-compose文件
services:zabbix-web-nginx-mysql:image: zabbix/zabbix-web-nginx-mysql:alpine-5.4-latestrestart: unless-stoppedenvironment:- DB_SERVER_HOSTmysql-server- MYSQL_DATABASEzabbix- MYSQL_USERzabbix- MYSQL_PASSWORDzabbix- MYSQL_ROOT_PASSWORDroot- ZBX_SERVER_HOSTzabbix-server-mysqlports:- 80:8080volumes:- /data/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttfnetworks:- zabbix-netdepends_on:- zabbix-server-mysql- mysql-servermysql-server:image: mysql:8.0restart: unless-stoppedports:- 3306:3306environment:- MYSQL_DATABASEzabbix- MYSQL_USERzabbix- MYSQL_PASSWORDzabbix- MYSQL_ROOT_PASSWORDrootcommand:- --default-authentication-pluginmysql_native_password- --character-set-serverutf8- --collation-serverutf8_binvolumes:- /data/zabbix/db:/var/lib/mysqlnetworks:- zabbix-netzabbix-java-gateway:image: zabbix/zabbix-java-gateway:alpine-5.4-latestrestart: unless-stoppednetworks:- zabbix-netzabbix-server-mysql:image: zabbix/zabbix-server-mysql:alpine-5.4-latestrestart: unless-stoppedvolumes:- /data/zabbix/zabbix-server:/etc/zabbix- /data/zabbix/alertscripts:/usr/lib/zabbix/alertscriptsports:- 10051:10051environment:- DB_SERVER_HOSTmysql-server- MYSQL_DATABASEzabbix- MYSQL_USERzabbix- MYSQL_PASSWORDzabbix- MYSQL_ROOT_PASSWORDroot- ZBX_JAVAGATEWAYzabbix-java-gatewaydepends_on:- mysql-servernetworks:- zabbix-netzabbix-agent:image: zabbix/zabbix-agent2:alpine-5.4-latestrestart: unless-stoppedports:- 10050:10050environment:- ZBX_HOSTNAMEZabbix server- ZBX_SERVER_HOSTzabbix-server-mysql- ZBX_SERVER_PORT10051networks:- zabbix-netnetworks:zabbix-net:ipam:driver: defaultconfig:- subnet: 172.20.0.0/16ip_range: 172.20.240.0/207. 以源码包方式安装agent客户端并监控任意主机
一、下载源码包
地址https://cdn.zabbix.com/zabbix/binaries/stable
二、将压缩包解压到/usr/local/zabbix_agent
tar -zxf zabbix_agent-5.4.9-linux-3.0-amd64-static.tar.gz -C /usr/local/zabbix_agent
三、编辑配置文件
vim /usr/local/zabbix_agent/conf/zabbix_agentd.conf 修改 LogFile/var/log/zabbix/zabbix_agentd.log Server服务端的ip ServerActive服务端的ip Hostname客户端名字与zabbix主机创建上的名字一致 Include指定conf文件的路径一般在安装目录下的/usr/local/zabbix_agent/conf/zabbix_agentd/*conf
四、创建zabbix用户并授权
useradd -r -s /usr/sbin/nologin zabbix chown -R zabbix:zabbix /usr/local/zabbix_agent
五、书写systemctl配置文件
/etc/systemd/system/zabbix-agent.service
[Unit]
DescriptionCustom Zabbix Agent Command
Aftersyslog.target network.target[Service]
Typeforking
ExecStart/usr/local/zabbix_agent/sbin/zabbix_agentd -c /usr/local/zabbix_agent/conf/zabbix_agentd.conf
Userzabbix
ExecReload/bin/kill -HUP $MAINPID
Restarton-failure
RestartSec5s[Install]
WantedBymulti-user.target加载配置文件 systemctl daemon-reload 启动和检查 systemctl enable zabbix-agent systemctl start zabbix-agent systemctl status zabbix-agent
web页面创建主机 四、自定义监控
例如监控bbs的8080端口
配置一下环境
vi ~/.bashrc
export PATH$PATH:/usr/local/zabbix_agent/sbin/
source ~/.bashrcmkdir -p /usr/local/etc
ln -s /usr/local/zabbix_agent/conf/zabbix_agentd.conf /usr/local/etc/zabbix_agentd.conf客户端
内置监控项和触发器可以看一下官方文档
1、在被监控的主机目录/usr/local/etc/zabbix_agentd.conf下创建bbsgo.conf文件
格式UserParameterkey,cmd UserParameter固定写法表示要自定义键值 key表示键值名字cmd表示命令或脚本
UserParameterbbs_port,ss -lntup|grep -w 8080|wc -l2、重启客户端并测试
systemctl restart zabbix-agentzabbix_agentd -t bbs_port
#输出 bbs_port [t|2]服务端
测试
# -s 客户端IP -p 端口号 默认是10050 -k 指定键值
docker exec f4690d49e0cc /usr/bin/zabbix_get -s 172.26.4.123 -p 10050 -k bbs_portweb页面
1、配置监控项 2、触发器 3、图形 五、自定义模板 创建或者把主机上的监控项、触发器、图形等复制到模板上 给主机使用需要先有键值
六、发送邮件
1、创建媒体类型 2、配置发件人 用户名是邮件地址密码是授权码授权码在邮件官网获取
3、配置收件人 4、添加动作
七、Zabbix客户端概述
zabbix-agent/zabbix-agent2适用于几乎所有情况支持自定义监控linuxwindows,android/iosSNMP客户端用于监控网络设备 Simple Network Management Protocal 简单网络管理协议JMXJava-gateway 监控java apptomcat 自定义监控 zabbix_agent2 jmap/jstackIPMI监控硬件物理服务器联想华为浪潮DELLIBM…直接使用自定义监控ipmitoolmegacli
八、网站需要监控什么
按照访问顺序监控dns/cdn、安全组、负载均衡、web、数据库、存储、备份。
DNS是否可以解析自定义监控ping/dig域名whois 域名 过滤过期时间证书curl -Lsv 域名 -o /dev/null 过滤过期时间CDN是否可用命中率阿里云接口负载ngx服务情况证书过期时间网站访问量并发…ngx/haproxy/keeplived状态模板证书模板、自定义监控网站访问量ip,pv,uv并发统计80,443端口连接数负载均衡健康检查模式upstream_check 自定义监控访问日志(状态码错误日志(error,failed数量)web服务情况ngx,php,tomcat/jar包…数据库redismysql模板存储nfs…自定义监控空间能否使用…备份备份的数据量是否有备份空间…
任何一台机器 硬件监控 系统监控 服务监控 业务/app监控 API接口监控
硬件监控物理服务器温度湿度风扇转数raid状态…ipmi/自定义监控系统监控cpu负载内存硬盘网络带宽io进程是否有非堡垒机登录模板自定义监控服务监控进程端口服务的状态日志模板自定义监控业务/app监控检查应用是否可用curl命令API接口监控APIcurl命令
八、自动发现与自动注册
自动发现服务端主动zbx服务端主动去找是否有新的主机如果有则添加进来配置简单不适合大量添加主机临时性可用自动注册客户端主动zbx客户端主动去找服务端提交自己的信息请求向服务端注册配置繁琐经常性适用大量主机
1、自动发现
添加规则 添加动作
2、自动注册
1、修改zabbix客户端配置 Serverxxx ServerActivexxx HostnameItemsystem.hostname HostMetadataItemsystem.uname
2、web页面创建自动注册动作