百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Zabbix监控工具安装及配置实际操作记录

bigegpt 2024-08-06 12:00 2 浏览

以下记录是笔者两年前实际操作的完整记录,包含Zabbix平台的安装及配置,微信通知告警等实际操作,还包含不少在zabbix手册中不会提到但与实际应用密切相关的Linux相关操作,用这个记录文档一两天内做一个完整的Zabbix系统毫无问题,我已验证过。




#本文档目的是安装Zabbix 4.0LTS平台,依次Zabbix安装CentOS 7.4 / Zabbix平台及依赖包

#Dell R510带远程控制卡,可以WWW远程管理。在192.168.3.250上,zabbix@root

#安装好后从Zabbix_Server的log查询,结果如下:

# SNMP monitoring: YES

# IPMI monitoring: YES

# Web monitoring: YES

# VMware monitoring: YES

# SMTP authentication: YES

# Jabber notifications: NO

# Ez Texting notifications: YES

# ODBC: NO

# SSH2 support: NO

# IPv6 support: YES

# TLS support: NO

#Zabbix平台采用编译安装模式,支持SNMP及IPMI;CentOS建议安装最小服务器模式或带GUI的服务器模式

#Zabbix平台包括Zabbix_Server,Zabbix_agent

#首先安装好CentsOS

#最小化安装的系统缺乏一些组件,以下命令将它们安装

yum install lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc screen -y

#配置时间同步

#查看时间同步情况

timedatectl

#安装NTP软件包并启动

yum install ntp -y

systemctl restart ntpd

systemctl enable ntpd

#最小安装包没有安装网络工具包,先安装下

yum -y install net-tools

#关闭防火墙及Selinux安全服务

#后期为了安全可以打开这两项服务,但需要重新配置

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

setenforce 0

#查看防火墙状态

firewall-cmd --state

#安装依赖软件包

yum install httpd mariadb mariadb-server php php-mysql php-devel php-xml php-bcmath php-mbstring php-gd wget expect net-snmp gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel -y

#下载Zabbix源文件(如先下载了,可以跳过,建议先下载,wget命令下载很慢)

wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.12/zabbix-4.0.12.tar.gz

#启动httpd及sql服务,并增加自启动

systemctl start httpd

systemctl enable httpd

systemctl enable mariadb

systemctl start mariadb

#数据库设置(根据要求答y或/n,应答参考initmysqlpassword.sh)

mysql_secure_installation

#解压缩下载或拷贝进来的zabbix源文件

tar -zxvf zabbix-4.0.12.tar.gz

#增加zabbix系统用户

cd zabbix-4.0.12

groupadd --system zabbix

useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

#MySQL数据库设置Zabbix用户及中文支持(这里实际使用的是CentOS自带的MySQL的开源分支MariaDB)

cd database/mysql/

mysql -uroot -p123456 -e "create database zabbix character set utf8 collate utf8_bin;"

mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"

mysql -uroot -p123456 -e "flush privileges;"

mysql -uzabbix -pzabbix -e "use zabbix;source schema.sql;source images.sql;source data.sql;"

cd ../..

#openipmi安装

yum install OpenIPMI

yum install ncurses-devel

yum install OpenIPMI-devel

#Zabbix编译安装

./configure --enable-server --enable-agent --with-mysql --with-openssl --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

make install

#匹配Zabbix与数据库及httpd

#Zabbix配置文件位于/usr/local/etc;Log文件位于LogFile=/tmp

sed -i s/'# DBPassword='/'DBPassword=zabbix'/g /usr/local/etc/zabbix_server.conf

cp -r frontends/php/ /var/www/html/zabbix

sed -i s/'^max_execution_time.*'/'max_execution_time = 300'/g /etc/php.ini

sed -i s/'^max_input_time.*'/'max_input_time = 300'/g /etc/php.ini

sed -i s/'^post_max_size.*'/'post_max_size = 16M'/g /etc/php.ini

sed -i s/'^;date.timezone.*'/'date.timezone = Asia\/Shanghai'/g /etc/php.ini

#重启数据库及网页服务

systemctl restart httpd

systemctl enable httpd

systemctl restart mariadb

systemctl enable mariadb

#日志中发现Fping未装,补上,先在fping.org上下载源文件,在root目录下

tar zxf fping-4.2.tar.gz

cd fping-4.2

./configure && make && make install

#本例中Zabbix_Server.conf中fping路径指向 /usr/sbin/fping

#实际上fping在l/usr/local/sbin/fping

#fping缺省用户权限是root,zabbix建立了zabbix组的zabbix用户

ln -s /usr/local/sbin/fping /usr/sbin/fping

chown root:root /usr/sbin/fping

chmod u+s /usr/sbin/fping

#安装SNMP工具包

yum -y install net-snmp-utils

#Snmpwalk的一些简单用法

snmpwalk -v 2c -c public 127.0.0.1 system

snmpwalk -v 2c -c public 127.0.0.1 ifdescr

#启动Zabbix服务器及代理

#zabbix_server默认日志文件位于/tmp/zabbix_server.log,有问题可以查看这个日志文件

zabbix_server

#确认Zabbix的server及agent是否启动

netstat -anpt | grep zabbix

#Zabbix_agentd.conf中配置的Hostname需与Web管理端hosts中主机名完全一致

#进入http页面配置Zabbix_Server

#记住设置的Server Name,在Agent配置中的HostName与此要严格一致,含其它机器上的agent

#这里配置的是Zabbix.Dell

#此项配置中 PHP LDAP有报警,未安装

zabbix_agentd

#Zabbix相关进程的管理方法,systemctl关停进程好像不行

#CentOS精简版不含killall工具,killall在psmisc工具包中

yum install psmisc

#显示在运行的zabbix字头的进程

ps -ef|grep zabbix

killall zabbix_server

#软件的删除

#有些软件会有 make uninstall 之类的功能,但大多都没有,所以只有手动删除

#或者在configure的时候加个preifx参数,比如 --preifx=/opt/squid

#这样当你不用的时候直接rm -rf /opt/squid 就可以了。

#查看RPM方式安装的软件包,zabbix为指定名字

rpm -qa | grep zabbix

#企业微信已创建运维部,运维报警信息如下:

#zabbix中创建用户里对应的账户是微信账号而不是微信号

#AgentId=1000002

#Secret=xxxxxxxxxxxxxxxxxxx

#corpid=wxxxxxxxxxxx71d3244

#--user={ALERT.SENDTO}

#

#--msg={ALERT.MESSAGE}

#微信接口脚本文件位置/usr/lib/zabbix/alertscripts

chown zabbix.zabbix /usr/lib/zabbix/alertscripts/weixin

chmod 755 /usr/lib/zabbix/alertscripts/weixin

#wechat脚本不可用,wexin可用(oneSaas的)

./weixin --corpid=ww4a5f9280471d3244 --corpsecret=xxxxxxxxxxxxxxxxx="云平台版测试告警" --toparty=2 --agentid=1000002

./weixin.one --corpid=ww4a5f9280471d3244 --corpsecret=2wPqlt6VjygojMzq7-NQcRAZCb4YgXfHLhkct_fWo8o --msg="这里是XXX告警测试" --user=xxxxxxx --agentid=1000002

./wexin.py --corpid=ww4a5f9280471d3244 --corpsecret=2wPqlt6VjygojMzq7-NQcRAZCb4YgXfHLhkct_fWo8o --msg="吃完饭了吗打麻将去" --user=xxxxxxx --agentid=1000002


#解决zabbix中文显示乱码:

#(1)从Windows系列系统复制宋体 常规(simsun.ttc):

#文件路径 C:\Windows\Fonts

#(2)复制该字体文件到zabbix的web端的fonts目录下:

#默认rpm安装位置为:/var/www/html/zabbix/assets/fonts

#注:字体文件的文件后缀名需要是:.ttf,因此改成:simsun.ttf

#(3)修改php配置文件:

cd /var/www/html/zabbix/include/defines.inc.php

vim include/defines.inc.php

#原内容如下:

#define(‘ZBX_GRAPH_FONT_NAME’, ‘graphfont’);

#define(‘ZBX_FONT_NAME’, ‘graphfont’);

#修改成以下内容:

#define(‘ZBX_GRAPH_FONT_NAME’, ‘simsun’);

#define(‘ZBX_FONT_NAME’, ‘simsun’);

#SNMP Trapper也要单独安装?

#还需要安装NMAP,zabbix脚本用到

相关推荐

Linux 系统启动完整流程

一、启动系统流程简介如上图,简述系统启动的大概流程:1:硬件引导UEFi或BIOS初始化,运行POST开机自检2:grub2引导阶段系统固件会从MBR中读取启动加载器,然后将控制权交给启动加载器GRU...

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图:这张图大体上描述了Linux系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。这篇文章就以这张图为基础,介绍Linux在I/O上做了哪些事情。文件系统什么是...

linux入门系列12--磁盘管理之分区、格式化与挂载

前面系列文章讲解了VI编辑器、常用命令、防火墙及网络服务管理,本篇将讲解磁盘管理相关知识。本文将会介绍大量的Linux命令,其中有一部分在“linux入门系列5--新手必会的linux命令”一文中已经...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

可算是有文章,把Linux零拷贝技术讲透彻了

阅读本文大概需要6.0分钟。作者:卡巴拉的树链接:https://dwz.cn/BaQWWtmh本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念...

linux软链接的创建、删除和更新

大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作。同样的,在系统级别也有。在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能...

Linux 中最容易被黑客动手脚的关键目录

在Linux系统中,黑客攻击后常会针对关键目录和文件进行修改以实现持久化、提权或隐藏恶意活动。本文介绍下黑客最常修改的目录及其手法。一、/etc目录关键文件有:/etc/passwd和/et...

linux之间传文件命令之Rsync傻瓜式教程

1.前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsync选项的详细说...

Linux下删除目录符号链接的方法

技术背景在Linux系统中,符号链接(symlink)是一种特殊的文件,它指向另一个文件或目录。有时候,我们可能需要删除符号链接,但保留其指向的目标目录。然而,在删除符号链接时可能会遇到一些问题,例如...

阿里云国际站注册教程:aa云服务器怎么远程链接?

在全球化的今天,互联网带给我们无以计数的便利,而云服务器则是其中的重要基础设施之一。这篇文章将围绕阿里云国际站注册、aa云服务器如何远程链接,以及服务器安全防护如Ddos防火墙、网站应用防护waf防火...

Linux 5.16 网络子系统大范围升级 多个新适配器驱动加入

Linux在数据中心中占主导地位,因此每个内核升级周期的网络子系统变化仍然相当活跃。Linux5.16也不例外,周一最新与网络相关的更新加入了大量的驱动和新规范的支持。一个较新硬件的驱动是Realt...

搭建局域网文件共享服务(Samba),手机电脑都能看喜欢的影视剧

作为一名影视爱好者,为了方便地观看自己喜欢的影视作品,在家里搞一个专门用来存放电影的服务器是有必要的。蚁哥选则用一台Ubuntu系统的电脑做为服务器,共享影音文件,其他同一个局域网内的电脑或手机可以...

分享一个实用脚本—centos7系统巡检

概述这周闲得慌,就根据需求写了差不多20个脚本(部分是之前分享过的做了一些改进),今天主要分享一个给平时运维人员用的centos7系统巡检的脚本,或者排查问题检查系统情况也可以用..实用脚本#!/bi...

Linux 中创建符号链接的方法

技术背景在Linux系统里,符号链接(SymbolicLink),也被叫做软链接(SoftLink),是一种特殊的文件,它指向另一个文件或者目录。符号链接为文件和目录的管理带来了极大的便利,比...

一文掌握 Linux 符号链接

符号链接(SymbolicLink),通常被称为“软链接”,是Linux文件系统中一种强大而灵活的工具。它允许用户创建指向文件或目录的“快捷方式”,不仅简化了文件管理,还在系统配置、软件开发和日...