Redian新闻
>
Zabbix搭建与主机监控

Zabbix搭建与主机监控

公众号新闻

前言
  • Zabbix是企业级分布式开源监控解决方案。可以对应用服务,数据库,网络,操作系统等提供7x24小时的监控,在6.x版本开始也新增了Kubernetes监控功能;本文主要介绍如何用zabbix的实现主机监控;
安装zabbix-server
  • 这里用docker compose的方式搭建一个zabbix监控;
# 拉取镜像
docker pull zabbix/zabbix-server-mysql:6.4.1-centos
docker pull zabbix/zabbix-web-nginx-mysql:6.4.1-centos

# 创建数据目录
mkdir -p zabbix/{data,alertscripts}
mkdir -p zabbix/mysql/{data,conf}
cd zabbix/

# 添加数据库配置
cat > mysql/conf/my.cnf <<eof
[client]
default-character-set = utf8

[mysqld]
character-set-server = utf8
collation-server = utf8_bin
default_storage_engine = InnoDB
port = 3306
datadir = /var/lib/mysql

max_connections=1000

expire_logs_days = 15
relay_log_purge = 1
slow_query_log_file = /var/log/mysql/slow.log
log-error = /var/log/mysql/error.log
log-bin = /var/log/mysql/mysqld-bin
default_authentication_plugin = mysql_native_password

socket = /tmp/mysql.sock
lower_case_table_names = 1
sql_mode = NO_ENGINE_SUBSTITUTION

default-time_zone='+8:00'
eof

# 授权文件
chmod 644 mysql/conf/my.cnf

# 添加compose
cat > docker-compose.yml <<eof
version: '3.9'
networks:
zbx:
driver: bridge
services:
zabbix-mysql:
image: mysql:8.0.30
hostname: mysql
container_name: mysql
volumes:
- /etc/localtime:/etc/localtime:ro
- ./mysql/conf/my.cnf:/etc/my.cnf
- ./mysql/data:/var/lib/mysql
restart: always
privileged: true
command: --character-set-server=utf8 --collation-server=utf8_bin
environment:
- MYSQL_ROOT_PASSWORD=Egfi9Jnn9BzJf3Q6
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
ports:
- 3306:3306
networks:
- zbx

zabbix-server:
image: zabbix/zabbix-server-mysql:6.4.1-centos
container_name: zabbix-server
volumes:
- /etc/localtime:/etc/localtime:ro
- ./data:/var/lib/zabbix/
- ./alertscripts:/usr/lib/zabbix/alertscripts:ro
restart: always
privileged: true
environment:
- DB_SERVER_HOST=zabbix-mysql
- DB_SERVER_PORT=3306
- MYSQL_ROOT_PASSWORD=Egfi9Jnn9BzJf3Q6
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- ZBX_CACHESIZE=1G
- ZBX_HISTORYCACHESIZE=512M
- ZBX_HISTORYINDEXCACHESIZE=32M
- ZBX_TRENDCACHESIZE=256M
- ZBX_VALUECACHESIZE=256M
- ZBX_STARTPINGERS=64
- ZBX_IPMIPOLLERS=1
- ZBX_ENABLE_SNMP_TRAPS=true
- ZBX_STARTTRAPPERS=1
ports:
- 10051:10051
networks:
- zbx

zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:6.4.1-centos
container_name: zabbix-web
volumes:
- /etc/localtime:/etc/localtime:ro
restart: always
privileged: true
environment:
- ZBX_SERVER_NAME=Zabbix 6.0
- ZBX_SERVER_HOST=zabbix-server
- ZBX_SERVER_PORT=10051
- DB_SERVER_HOST=zabbix-mysql
- DB_SERVER_PORT=3306
- MYSQL_ROOT_PASSWORD=Egfi9Jnn9BzJf3Q6
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- PHP_TZ=Asia/Shanghai
ports:
- 80:8080
networks:
- zbx
eof

# 启动服务
docker compose up zabbix-mysql -d && sleep 5
docker compose up -d
  • 启动成功后,登陆页面,默认账号是 Admin / zabbix ;
安装zabbix-agent
  • zabbix-agent是采集主机指标的客户端,这里使用二进制包的安装方式,多台主机的情况下建议使用ansible去批量安装;
# 获取安装包: https://www.zabbix.com/cn/download
wget -c https://cdn.zabbix.com/zabbix/binaries/stable/6.4/6.4.1/zabbix_agent-6.4.1-linux-3.0-amd64-static.tar.gz
mkdir -p /usr/local/zabbix
tar xf zabbix_agent-6.4.1-linux-3.0-amd64-static.tar.gz -C /usr/local/zabbix

# 添加用户
useradd -s /sbin/nologin -M zabbix
chown zabbix.root -R /usr/local/zabbix

# 添加配置文件
rm -rf /usr/local/zabbix/conf/zabbix_agentd/*
cat > /usr/local/zabbix/conf/zabbix_agentd.conf <<eof
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
LogFileSize=100
ListenPort=10050
StartAgents=2 # 启动的采集线程数
Server=172.16.110.169 # zabbix-server的地址
ServerActive=172.16.110.169 # zabbix-server的地址
HostMetadata=basic # 定义主机元数据,在做自动注册时会用到
Include=/usr/local/zabbix/conf/zabbix_agentd/*.conf
eof
  • 添加system脚本管理agent服务;
# 创建脚本
cat > /usr/lib/systemd/system/zabbix-agent.service <<eof
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
PIDFile=/usr/local/zabbix/logs/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.targe
eof

# 启动服务
systemctl daemon-reload
systemctl enable zabbix-agent --now
自动注册
  • 自动注册是由zabbix-agent端来自动的向服务端主动向服务端注册添加,这种方式能够减少服务端的资源消耗;
  • 添加匹配条件,注册动作;
  • 添加成功后,agent主机会自动向
制作仪表盘
  • zabbix的仪表盘默认并没有主机指标的展示,这里自己制作一个展示主机的指标图表;
  • 添加一个前排主机面板,把要展示的主机组,指标加上;
  • 效果展示;
集成ldap(可选)
  • zabbix默认支持ldap的认证集成,为了账号的统一可以配置一下,参考如下;
  • 选择认证类型为ldap方式;
  • 创建用户;(zabbix要求用户需要属于某个用户组和角色才能正常使用) ;

end~

(文章源于网络,版权归原作者所有,侵删)



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
你与主创最大的区别是...早鸟票即将结束!类器官工程开发与应用专场 | 聚焦脑类器官构建与疾病治疗!2023类器官研讨会论坛三日程出炉!增投6亿!大健康产业需求“狂飙”下,安利扩产广州生产基地、搭建大健康共享创新平台探索Zabbix API:企业监控管理工具字节技术大牛跑步进入AIGC创业,聚焦视觉领域,搭建算法平台,还是多模态的那种[电脑] 搭建 AM5 性能小钢炮——ROG X670E-I+追风者 Shift XT P121 装机展示从零开始搭建一个通用的业务技术架构,这套架构有点牛逼!清华五道口:国际金融科技发展趋势与主流技术ByConity与主流开源OLAP引擎(Clickhouse、Doris、Presto)性能对比分析收藏:从零开始搭建一个通用业务架构西捷航空宣布将关闭Sunwing!与主线业务合并两会声音|全国政协委员、北京航空航天大学党委书记赵长禄:搭建科教协同平台刻不容缓手把手教你搭建属于自己的服务器BBB倒闭雷声大雨点小?店内一逛,心都凉了突破合成生物材料规模化瓶颈,金坤生物搭建多条千、万吨级生产线The Coach Tabby Tour|探寻专属你的Tabby【友情宣传】“星火孵化公益计划”,为数千万华人搭建迈向Web3的桥梁3月10日活动报名 | Wiley神经科学研讨会:与主编在线交流科研成果与论文发表心得炸胡瓜鱼,咖喱牛肉炖土豆,木耳炒粉皮儿吴冷西谈庐山会议监控实拍!蒙面盗贼半夜偷马里布豪车内钱财,整条街上有20多辆豪车,直视监控不害怕....货币起义、美元信用重建与大类资产表现沈阳老乡给我个红花君子兰大苗 我和我姐说了国务院联防联控机制最新通报!检出国内首例XBB.1.9、XBB.1.9.1和XBL等变异株→视频 | 我在荷兰找到了,一座用乐高积木搭建而成的童话小镇!911飞机上华裔空姐邓月薇,临终前20分钟留下一份录音,还原真相两会 | 全国人大代表朱华荣:建议搭建国家智能网联汽车数据法律、法规工作组3月设计手记 | 我们借助AI的力量搭建了一个赛博朋克的理想县城集合体这地推出婚改app!设全市未婚男女数据库,搭建官方相亲平台【绿色金融】ESG投资:策略构建与发展趋势[电脑] 极限扩展,铭瑄Z790终结者主板NAS搭建经验分享回国之旅,小区里的花店与宠物店[电脑] 搭建极限20L MATX主机,ROG X670E-GENE+索泰4080月白装机展示搭建开放式创新平台生态,凯基生物助推生命科学成果的高效转化「未来盒子」获千万级天使轮融资,搭建数字化快装产业互联网平台|36氪首发
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。