Installation hors ligne du système Linux CentOS-7 et déploiement de Zabbix ---> Surveillance personnalisée ---> Tutoriel détaillé des alarmes SMS

Dans l'environnement réseau interne, nous ne pouvons pas nous connecter au réseau externe. Si nous voulons utiliser zabbix pour le moment, nous devons l'installer hors ligne.

Il existe trois façons d'installer et de déployer Zabbix :

La première consiste à utiliser l'installation du code source , la deuxième à utiliser l'installation du paquet RPM et la troisième à utiliser le déploiement de conteneurs . Ce dont nous parlons ici, c'est l'installation du paquet RPM.

Vous pouvez télécharger le package en ligne vous-même ou utiliser le package d'installation RPM que j'ai préparé.

Table des matières

1. Préparez le package d'installation requis pour zabbix sur votre propre machine virtuelle d'ordinateur

1. Désactivez le pare-feu et le mode sans échec SELINUX

 2. Installez la source rpm de zabbix

3. Téléchargez le package d'installation requis pour zabbix

        1. Téléchargez les packages de service et d'agent Zabbix

        2. Téléchargez Red Hat Software Collections : pour faciliter l'installation de versions supérieures de php.

        3. Téléchargez le progiciel Web frontal Zabbix.

        4. Téléchargez la base de données mysql :

        5. Créez un référentiel Yum local

2. Installez Zabbix hors ligne dans l'environnement intranet

1. Préparation du serveur Zabbix

        1. Configurez le nom d'hôte

        2. Désactivez le pare-feu et le mode sans échec SELINUX

2. Sauvegarder la source YUM du système

3. Configuration de l'entrepôt Yum local

4. Commencez à installer Zabbix

        1. Installez le serveur Zabbix, l'agent, les collections de logiciels et la base de données MySQL.

        2. Installez le Web frontal Zabbix.

         3. Configurer la base de données

         4. Initialisez la base de données et définissez le mot de passe de connexion à la base de données

        5. Entrez dans la base de données et créez la base de données zabbix

        6. Importer le schéma et les données initiaux

         7. Modifiez le fichier de configuration zabbix_server.conf

        8. Modifier le fichier de configuration php de zabbix

        9. Démarrez les processus du serveur et de l'agent Zabbix et configurez-les pour qu'ils démarrent automatiquement au démarrage 

        10. Configurer l'installation de l'interface Web frontale Zabbix

 5. Ajouter le client zabbix-agent

          1. Désactivez le pare-feu et le mode sans échec SELINUX

        2. Téléchargez le package d'installation de zabbix-agent dans /tmp

         3. Installez l'agent zabbix

        4. Configurez l'agent zabbix

        5. Démarrez l'agent zabbix

        6. Interface Web frontale ajoutée

3. Un suivi personnalisé

1. Écriture du scénario

2. Opération de configuration de l'interface frontale Zabbix

        1. Créez un nouveau modèle

2. Créez un nouvel ensemble d'applications

 3. Créez de nouveaux éléments de surveillance

 4. Créez un nouveau déclencheur

 5. Appliquer des modèles

6. Vérifiez si cela réussit

 4. Alarme d'information

1. Ajout de script

2. Ajoutez un support d'alarme SMS à l'interface de fonctionnement de Zabbix ;

3. Ajoutez une méthode d'alarme SMS pour les utilisateurs désignés ;

4. Définissez le moment où l'action enverra une alarme SMS ;

5. Testez


1. Préparez le package d'installation requis pour zabbix sur votre propre machine virtuelle d'ordinateur

1. Désactivez le pare-feu et le mode sans échec SELINUX

#关闭防火墙并设置开机不启动
systemctl stop firewalld

systemctl disable firewalld

#关闭SElinux安全模式
setenforce 0
    
#设置永久关闭selinux

vi /etc/selinux/config

#修改SELINUX:
SELINUX=disabled

#重启生效
reboot

cced805592664616b37f80cfb8a5b90c.pngba2a22441edb4fba925bfdb192866e7b.png

 2. Installez la source rpm de zabbix

#使用国内镜像源——阿里云源
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
 

4ab5a20e20a942e7a89b3d4869650aee.png

3. Téléchargez le package d'installation requis pour zabbix

Utilisez la commande yum --downloadonly pour télécharger uniquement le package rpm sans l'installer ni le mettre en cache.

        1. Téléchargez les packages de service et d'agent Zabbix

yum install zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/tmp/offline_rpm

#如报没有downloadonly功能,下载即可
yum install yum-plugin-downloadonly

        2. Téléchargez Red Hat Software Collections : pour faciliter l'installation de versions supérieures de 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

28c0dee9c50544a3a4f943f0971b86a6.png

        3. Téléchargez le progiciel Web frontal Zabbix.

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/tmp/offline_rpm

        4. Téléchargez la base de données mysql :

yum install mariadb-server.x86_64 --downloadonly --downloaddir=/tmp/offline_rpm

        5. Créez un référentiel Yum local

Utilisez createrepo pour créer l'entrepôt de référentiel. S'il n'y a pas de commande de ce type dans le système, vous devez d'abord installer createrepo.

9f8e4b6d807b4c84b1b9617fba62f048.png

yum install createrepo -y
# 使用createrepo来创建repository仓库
createrepo /tmp/offline_rpm

7eed145577594218a86fe37ab66f7ecc.png

#到存储目录下
cd /tmp/offline_rpm/

#查看是否有repodata这个文件夹,有就是创建成功了
ls

fe75de618b434375af2a023dc0f3993b.png

2. Installez Zabbix hors ligne dans l'environnement intranet

Copiez tous les dossiers offline_rpm de /tmp/offline_rpm dans le répertoire /tmp sur le serveur zabbix préparé sur l'intranet .

1. Préparation du serveur Zabbix

        1. Configurez le nom d'hôte

hostnamectl set-hostname zabbix-server

bash
05a794a705fc45a5953fc4e3cb2fab3c.png

        2. Désactivez le pare-feu et le mode sans échec SELINUX

#关闭防火墙并设置开机不启动
systemctl stop firewalld

systemctl disable firewalld

#关闭SElinux安全模式
setenforce 0
    
#设置永久关闭selinux

vi /etc/selinux/config

#修改SELINUX:
SELINUX=disabled

#重启生效
reboot

2. Sauvegarder la source YUM du système

cd /etc/yum.repos.d

#创建备份文件夹
mkdir bak

#所有的repo文件移动到bak下
mv *.repo bak

e1c6d6d4048440be9fc2f19573ccd388.png

3. Configuration de l'entrepôt Yum local

        1. Créez un nouveau fichier référentiel sous /etc/yum.repos.d/.

vi /etc/yum.repos.d/new.repo

        2. Écrivez le contenu suivant.

[New]
name=New
baseurl=file:///tmp/offline_rpm
gpgcheck=0
enabled=1
        3. Effacez tous les caches
yum clean all

2ea4abe0c27244028d15687b723fa0ae.png

4. Commencez à installer Zabbix

        1. Installez le serveur Zabbix, l'agent, les collections de logiciels et la base de données MySQL.

        Comme il existe des packages dans l'entrepôt yum configuré, vous pouvez les installer directement avec la commande

yum install zabbix-server-mysql zabbix-agent -y


yum install centos-release-scl -y


yum -y install mariadb-server.x86_64 

        Après avoir installé le serveur Zabbix, l'agent et les collections de logiciels, deux nouveaux fichiers .repo seront générés sous /etc/yum.repos.d et déplacés vers bak.

ls

mv CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.repo bak

ls

df8774c2ffa84bebb7a5865601b99a8e.png

   Remarque : Si vous ne le déplacez pas, l'erreur suivante sera signalée

Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

        2. Installez le Web frontal Zabbix.

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

         3. Configurer la base de données

#启动
systemctl start mariadb

#设置开机自启动
systemctl enable mariadb

#查看
systemctl status mariadb

0c4556c38e5d4bd0bb3b576bc64b0137.png

         4. Initialisez la base de données et définissez le mot de passe de connexion à la base de données

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. Entrez dans la base de données et créez la base de données zabbix

        Remarque : définissez le format d'encodage sur utf-8.

#进入数据库
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. Importer le schéma et les données initiaux

        Vous serez invité à saisir votre mot de passe.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

         7. Modifiez le fichier de configuration zabbix_server.conf

#为zabbix server配置数据库
#修改内容
#DBPassword=password(你之前输的密码)
vi /etc/zabbix/zabbix_server.conf 

218550ffcccf450a858743fecb443796.png

        8. Modifier le fichier de configuration php de zabbix

#修改内容
#将注释;去掉,并修改为
#php_value[date.timezone] = Asia/Shanghai
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 

e1fca5227c5e46ac83b0e05104f09edd.png

        9. Démarrez les processus du serveur et de l'agent Zabbix et configurez-les pour qu'ils démarrent automatiquement au démarrage 

#启动
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. Configurer l'installation de l'interface Web frontale Zabbix

        Connectez-vous au frontal Zabbix : http://IP/zabbix

b944d0f5743644748dd7c6dee6993e8c.png

         Vérifiez toutes les conditions

2881f727ec254d07ad5edc8f6ae18b55.png

         Configurer les informations de la base de données

1300719378de414ab7e7b1aaf65daccf.png

        Informations de base sur le serveur 

cedc615fe1a94ca0a504ea8c8b813ed3.png

        Confirmer les informations

ba81d0a9847c4428a26aa51923da025b.png

         L'installation est terminée

ba211da24ea046afa9f950129c177a99.png

         Connectez-vous à la page frontale : nom d'utilisateur et mot de passe par défaut du système Admin/zabbix (cas à noter)

18d22bccebab4ab08e7a219ccbd3d682.png

         Modifier en chinois

1f796dcdf9d34e95a15506039e6fa0a3.png

b33e29fda83c446dace1512306f3c9d1.png

 5. Ajouter le client zabbix-agent

          1. Désactivez le pare-feu et le mode sans échec SELINUX

#关闭防火墙并设置开机不启动
systemctl stop firewalld

systemctl disable firewalld

#关闭SElinux安全模式
setenforce 0
    
#设置永久关闭selinux

vi /etc/selinux/config

#修改SELINUX:
SELINUX=disabled

#重启生效
reboot

        2. Téléchargez le package d'installation de zabbix-agent dans /tmp

        Il se trouvait auparavant dans le dossier offline_rpm

b04995ac698843ea8406c4022ce2f1bd.png

         3. Installez l'agent zabbix

        cd dans le répertoire où sont stockés les fichiers à installer

cd /tmp

#查看
ls

#安装
yum install zabbix-agent-5.0.32-1.el7.x86_64.rpm -y

0db9f82d1cf041e68ba9046563d88dfc.png

        4. Configurez l'agent zabbix

vi /etc/zabbix/zabbix_agentd.conf

修改内容如下
# zabbix 服务端地址
Server=192.168.222.23
# zabbix活动服务器地址
ServerActive=192.168.222.23
# 主机名,也就是要监控的那台主机名,在web页面添加主机时需设置相同
Hostname=zabbix-agent

        5. Démarrez l'agent zabbix

#启动
systemctl start zabbix-agent

#设置开机自启动
systemctl enable zabbix-agent

#查看
systemctl status zabbix-agent

        6. Interface Web frontale ajoutée

f2c70bbefce44789968dbd5984585fc1.png

a287063cb4044870ba079a3effc4b25e.png b1935ea5d1d74802a8c32519b2d406e8.png

         Vérifiez si l'hôte surveillé est connecté et si l'état est normal

a5c144cd527e4c1c95557e898809ec26.png

 Si l'erreur suivante est signalée, attendez simplement 10 minutes. Cela signifie que la durée normale d'exécution du service client est inférieure à 10 minutes.a1d2c287e36f4b3fa9ecdc3552d7da48.png

3. Un suivi personnalisé

1. Écriture du scénario

1. Créez un nouveau script dans le répertoire où l'agent zabbix de l'adresse IP         qui doit être surveillée stocke le script.

#进入/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值"

Paramètres communs de la commande zabbix_get :

-s Spécifiez le nom d'hôte ou l'adresse IP du client
-p Port client, par défaut : 10050
-JE Spécifier l'adresse IP source
-k La clé que vous souhaitez obtenir

2. Opération de configuration de l'interface frontale Zabbix

        1. Créez un nouveau modèle

        Si vous disposez déjà du modèle requis, vous pouvez l’ignorer.

 Si vous disposez déjà d'un modèle, mais que vous devez encore ajouter des éléments fonctionnels, vous pouvez choisir de lier le modèle. Je ne le démontrerai pas ici et ne ferai aucune sélection.

2. Créez un nouvel ensemble d'applications

Un ensemble d'applications représente un type d'élément de surveillance. S'il existe déjà, vous n'avez pas besoin d'en créer un nouveau.

 3. Créez de nouveaux éléments de surveillance

Éléments nécessitant une surveillance personnalisée

 

 4. Créez un nouveau déclencheur

S'il n'y a aucune exigence d'alarme, aucun déclencheur ne peut être défini

 5. Appliquer des modèles

Une fois le modèle appliqué, les ensembles d'applications, les éléments de surveillance et les déclencheurs ajoutés par la suite seront ajoutés à l'hôte. S'il y en a que vous ne souhaitez pas utiliser, désactivez-les simplement sous l'hôte.

6. Vérifiez si cela réussit

 4. Alarme d'information

1. Ajout de script

#查看zabbix_server配置文件zabbix_server.conf,确认信息报警脚本位置

vi /etc/zabbix/zabbix_server.conf

#AlertScriptsPath参数的路径为脚本路径,如果没有自行创建

J'utilise Python pour appeler cela, ou vous pouvez utiliser Shell pour l'appeler (s'il n'y a pas d'interface SMS, vous pouvez utiliser le robot DingTalk pour envoyer des informations d'alarme, le tutoriel est sur Baidu)

#到该路径下
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. Ajoutez un support d'alarme SMS à l'interface de fonctionnement de Zabbix ;

Appeler le script pour envoyer un message texte

 Il existe des modèles de messages dans Zabbix. Faites attention au format. Si une grande chaîne de caractères est signalée, essayez de saisir le modèle de SMS à la main au lieu de le coller.

 Cela fournit deux modèles

##告警
主机名称:{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}

test

3. Ajoutez une méthode d'alarme SMS pour les utilisateurs désignés ;

Prenons l'exemple de l'utilisateur administrateur "admin"

4. Définissez le moment où l'action enverra une alarme SMS ;

5. Testez

Ajoutez un nouveau numéro de connexion IP de surveillance et de déclenchement. Pour chaque interface de télécommande supplémentaire, il y aura un numéro d'utilisateur supplémentaire.

Contenu du script

#查看有多少个连接数

UserParameter=user_sum,who  |wc -l

 Pour ajouter des éléments de surveillance personnalisés, suivez simplement le didacticiel précédent.

Faites-le mettre à jour toutes les 10 secondes pour faciliter les tests

S'il est supérieur ou égal à 6, l'alarme se déclenchera. S'il est inférieur à 6, l'alarme ne se déclenchera pas. L'alarme reviendra à la normale.

 Après l'avoir fait, testez si cela a réussi par vous-même (vous devez ajouter cette alarme dans l'action)

Je suppose que tu aimes

Origine blog.csdn.net/weixin_68547003/article/details/129922985
conseillé
Classement