在内网环境,我们无法连接外网,这个时候想要使用zabbix,就要进行离线安装了
一是使用源码安装,二是使用RPM包安装,三是使用容器部署,这里讲的是RPM包安装
链接:https://pan.baidu.com/s/1Jd4P84xHVEldoUgv6JvFUQ?pwd=erty
提取码:erty
2.下载 Red Hat Software Collections:方便php高版本的安装。
1.安装zabbix server、agent和Software Collections及mysql数据库。
9.启动Zabbix server和agent进程,并为它们设置开机自启
一、在自己电脑虚拟机上准备好zabbix所需安装安装包
1、关闭防火墙和SELINUX安全模式
#关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
#关闭SElinux安全模式
setenforce 0
#设置永久关闭selinux
vi /etc/selinux/config
#修改SELINUX:
SELINUX=disabled
#重启生效
reboot
2、安装zabbix的rpm源
#使用国内镜像源——阿里云源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#更改使用国内镜像源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#清除所有缓存
yum clean all
3、下载zabbix所需安装包
通过yum —downloadonly命令只下载rpm包不安装进行缓存
1.下载zabbix service和agent包
yum install zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/tmp/offline_rpm
#如报没有downloadonly功能,下载即可
yum install yum-plugin-downloadonly
2.下载 Red Hat Software Collections:方便php高版本的安装。
yum install centos-release-scl --downloadonly --downloaddir=/tmp/offline_rpm
#安装 Software Collections。
yum install centos-release-scl -y
#将[zabbix-frontend]下的 enabled 改为 1.
vi /etc/yum.repos.d/zabbix.repo
3.下载 Zabbix前端web软件包。
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/tmp/offline_rpm
4.下载 mysql数据库:
yum install mariadb-server.x86_64 --downloadonly --downloaddir=/tmp/offline_rpm
5. 创建本地yum仓库
使用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装
yum install createrepo -y
# 使用createrepo来创建repository仓库
createrepo /tmp/offline_rpm
#到存储目录下
cd /tmp/offline_rpm/
#查看是否有repodata这个文件夹,有就是创建成功了
ls
二、在内网环境进行离线安装zabbix
将 /tmp/offline_rpm 的这个offline_rpm文件夹全部拷入内网准备的zabbix服务端上的/tmp目录下。
1、zabbix服务端准备
1.配置主机名
hostnamectl set-hostname zabbix-server
bash
2.关闭防火墙和SELINUX安全模式
#关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
#关闭SElinux安全模式
setenforce 0
#设置永久关闭selinux
vi /etc/selinux/config
#修改SELINUX:
SELINUX=disabled
#重启生效
reboot
2、备份系统YUM源
cd /etc/yum.repos.d
#创建备份文件夹
mkdir bak
#所有的repo文件移动到bak下
mv *.repo bak
3、本地yum仓库配置
1.在/etc/yum.repos.d/下新建一个repo文件。
vi /etc/yum.repos.d/new.repo
[New]
name=New
baseurl=file:///tmp/offline_rpm
gpgcheck=0
enabled=1
yum clean all
4、开始安装zabbix
1.安装zabbix server、agent和Software Collections及mysql数据库。
yum install zabbix-server-mysql zabbix-agent -y
yum install centos-release-scl -y
yum -y install mariadb-server.x86_64
安装zabbix server、agent和Software Collections后,/etc/yum.repos.d 下会生成两个新的.repo文件,将其移到bak下
ls
mv CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.repo bak
ls
注:如果不移走,会报以下错误
Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
2.安装zabbix 前端web。
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
3.配置数据库
#启动
systemctl start mariadb
#设置开机自启动
systemctl enable mariadb
#查看
systemctl status mariadb
4、初始化数据库并设置数据库登录密码
mysql_secure_installation
[root@zabbix-servre yum.repos.d]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): #此处直接回车
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
8、创建zabbix数据库。
Set root password? [Y/n] y #此处y
New password: #输入密码
Re-enter new password: #再次输入密码
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y #此处y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n #此处n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y #此处y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y #此处y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@zabbix-servre yum.repos.d]#
5、进入数据库,创建zabbix数据库
#进入数据库
mysql -u root -p
#创建数据库
create database zabbix character set utf8 collate utf8_bin;
#创建用户(注意修改password,这是之前初始化输入的密码)
create user zabbix@localhost identified by 'password';
#授权
grant all privileges on zabbix.* to zabbix@localhost;
#修改生效
flush privileges;
#退出
quit;
6.导入初始架构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
7.修改zabbix_server.conf配置文件
#为zabbix server配置数据库
#修改内容
#DBPassword=password(你之前输的密码)
vi /etc/zabbix/zabbix_server.conf
8.修改 zabbix 的 php 配置文件
#修改内容
#将注释;去掉,并修改为
#php_value[date.timezone] = Asia/Shanghai
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
9.启动Zabbix server和agent进程,并为它们设置开机自启
#启动
systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
#设置开机自启动
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#查看
systemctl status zabbix-server zabbix-agent httpd rh-php72-php-fpm
10.配置Zabbix前端–web界面安装
安装完成
登录前端页面:系统默认的用户名和密码Admin/zabbix(注意大小写)
修改为中文
5、客户端zabbix-agent添加
1.关闭防火墙和SELINUX安全模式
#关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
#关闭SElinux安全模式
setenforce 0
#设置永久关闭selinux
vi /etc/selinux/config
#修改SELINUX:
SELINUX=disabled
#重启生效
reboot
2.上传zabbix-agent安装包到/tmp下
3.安装zabbix-agent
cd /tmp
#查看
ls
#安装
yum install zabbix-agent-5.0.32-1.el7.x86_64.rpm -y
4.配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
修改内容如下
# zabbix 服务端地址
Server=192.168.222.23
# zabbix活动服务器地址
ServerActive=192.168.222.23
# 主机名,也就是要监控的那台主机名,在web页面添加主机时需设置相同
Hostname=zabbix-agent
5.启动zabbix-agent
#启动
systemctl start zabbix-agent
#设置开机自启动
systemctl enable zabbix-agent
#查看
systemctl status zabbix-agent
6.前端-web界面添加
如果报下面的错,等10分即可,这个是说客服端正常运行时间小于10分钟
三、自定义监控
1、脚本编写
1.到需要监控的IP的zabbix-agent存放脚本的目录下创建一个新脚本
#进入/etc/zabbix/zabbix_agentd.conf查看自定义脚本存放路径
vi /etc/zabbix/zabbix_agentd.conf
#脚本要以.conf 结尾
#Include后面跟着的路径就是自定义脚本存放路径
cd /etc/zabbix/zabbix_agentd.d/
#创建一个新脚本,key很重要(就是命名),要记得,最好取容易看出是什么意思的
#脚本格式:UserParameter=<key>,<shell command>
#df -h|grep '/dev/mapper/centos-root'|awk '{print $5}'|awk -F "%" '{print $1}' 这个是查看内存还有百分之多少的
#样列:UserParameter=memory,df -h|grep '/dev/mapper/centos-root'|awk '{print $5}'|awk -F "%" '{print $1}'
#脚本得出的结果就是要监控的数据
vi memory.conf
#新脚本创建后,要重启zabbix-agent服务才生效
#前往服务端使用命令查看是否成功 命令自行修改
#呢此命令要安装zabbix_get才能使用
yum -y install zabbix-get-3.2.1-1.el7.x86_64.rpm
#如果安装失败,可在外网下载个zabbix-get安装包后上传到内网安装(或用我网盘包里zabbix-get,解压后搜索找到上传安装即可)
zabbix_get -s 客户端ip -p 10050 -k "key值"
zabbix_get命令常用参数:
-s | 指定客户端主机名或者IP |
---|---|
-p | 客户端端口,默认:10050 |
-I | 指定源IP |
-k | 想要获取的key |
2、zabbix前端界面配置操作
1.新建模板
如果已有模板,但还需要新增一些功能项,可选择链接模板,此处我就不演示了,不做选择
2.新建应用集
3.新建监控项
4.新建触发器
5.应用模板
模板应用后,后继添加的应用集、监控项、触发器都会自己添加到该主机下面,如有不想用的,到该主机下面停用即可
6.查看是否成功
四、信息报警
1、脚本添加
#查看zabbix_server配置文件zabbix_server.conf,确认信息报警脚本位置
vi /etc/zabbix/zabbix_server.conf
#AlertScriptsPath参数的路径为脚本路径,如果没有自行创建
我这用python来调用,也可用shell来调用(没有短信接口的,可用钉钉机器人来发送报警信息,教程自行百度)
#到该路径下
cd /usr/lib/zabbix/alertscripts/
#创建脚本
vi sms.py
#----python告警脚本(post)
#!/usr/bin/python
# -*- coding:utf-8 -*-
import json
import sys
import requests
url = 'api地址信息'
post_headers = {'Content-Type': 'application/json'}
post_data = {
"moban":"gj",
"num":sys.argv[1],
#"first":sys.argv[2],
"keyword1":"信息",
"remark":sys.argv[3],
"people":"key值"
}
ret = requests.post(url, data = json.dumps(post_data), headers = post_headers)
print(ret.text)
#设置脚本和日志文件权限
touch /tmp/SMS.log
chown zabbix:zabbix /tmp/SMS.log
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/sms.py
chmod +x /usr/lib/zabbix/alertscripts/sms.py
2、在zabbix的操作界面添加短信报警媒介;
消息模板在zabbix中有,注意格式,如有报一大串字符,请手打短信模板试试,不要粘贴
这提供两个模板
##告警
主机名称:{HOST.NAME}
IP地址:{HOST.IP}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警信息:{TRIGGER.NAME}
告警级别:{TRIGGER.SEVERITY}
检查项:{TRIGGER.KEY1}
当前状态:{TRIGGER.STATUS}
值={ITEM.LASTVALUE}
故障已持续{EVENT.AGE}
##恢复
主机名称:{HOST.NAME}
IP地址:{HOST.IP}
告警时间:{EVENT.DATE}{EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE}{EVENT.RECOVERY.TIME}
故障时长:{EVENT.AGE}
告警信息:{TRIGGER.NAME}
告警级别:{TRIGGER.SEVERITY}
检查项:{TRIGGER.KEY1}
当前状态:{TRIGGER.STATUS}
值={ITEM.VALUE}
3、对指定的用户添加短信报警方式;
4、设置动作何时进行短信报警;
5、测试
新增一个ip登录数的监控,触发器,每多一个远程控制界面,就多一个用户数
脚本内容
#查看有多少个连接数
UserParameter=user_sum,who |wc -l
原文地址:https://blog.csdn.net/weixin_68547003/article/details/129922985
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_32304.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!