Prepare la máquina de gestión primero (Jefe)
1. Instalar el entorno:
yum install epel-release -y
yum install ansible libselinux-python -y
2. Ver versión
ansible --version
Preparar para ser administrado nodo (nodo)
1. Prepare el nodo del nodo del entorno:
yum install epel-release libselinux-python -y
Host de configuración del nodo maestro:
vim /etc/ansible/hosts
tirar hasta el final, formatear
[bobo] Ese formato de nombres es fácil de administrar
[bobo]
172.28.229.146
172.28.229.145
Intenta conectarte con ansible:
ansible bobo -m command -a "hostname" -k -u root
Ingrese la contraseña, la conexión es exitosa y la ejecución es exitosa
Si el indicador falla, use ssh root@ip para conectarse nuevamente
Plantilla de ejecución de Ansible:
ansible bobo -m nombre del módulo -un "comando de shell"
ansible chaoge -m command -a "uptime"
Configure la clave ssh de inicio de sesión sin secreto:
1. Cree un par de claves en el nodo maestro
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
2. Compruebe el archivo de clave pública del archivo de clave privada
cd ~/.ssh/
ls
authorized_keys id_rsa id_rsa.pub known_hosts
3. El nodo maestro escribe el script de distribución de clave pública:
vim kry.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
SSH_Pass=111111
Key_Path=~/.ssh/id_rsa.pub
for ip in 138 139
do
sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o
StrictHostKeyChecking=no" 192.168.178.$ip
done
4. Ejecute key.sh
5. Utilice la subprueba ansible:
ansible bobo -m command -a "uname -a"
Comando ansible-doc:
1. Enumere todos los módulos compatibles con ansible
ansible-doc -l |grep ^command
ansible-doc -s command
El módulo de comando es el módulo predeterminado
módulo de concha
El módulo de cáscara es un módulo de uso frecuente: ejemplo de pera
ansible bobo -m shell -a "ps -ef|grep vim|grep -v grep"
Ejecutar scripts en lotes:
ansible chaoge -m shell -a "mkdir -p /server/myscripts/;echo
'hostname' > /server/myscripts/hostname.sh;chmod +x
/server/myscripts/hostname.sh;bash
/server/myscripts/hostname.sh warn=False"
módulo de secuencia de comandos --- foco:
El maestro escribe un script que se puede ejecutar en todos los nodos: el formato es similar y no es necesario que el script exista en el cliente
ansible chaoge -m script -a "/myscripts/local_hostname.sh"
módulo de copia: enviar datos a los nodos esclavos
ansible-doc -s copy #查看参数的用法
Ejemplo: archivos de copia por lotes:
ansible chaoge -m copy -a "src=/etc/hosts
dest=/tmp/m01_hosts owner=learn_ansible group=learn_ansible
mode=0666"
Verifique la información copiada:
ansible chaoge -m command -a "ls -l /tmp/m01_hosts"
práctica del módulo yum:
Instale nginx en lotes:
ansible chaoge -m yum -a "name=nginx state=installed"
Comprobación de lotes:
ansible chaoge -m shell -a "rpm -qa nginx warn=false"
Desinstalar nginx en lotes:
ansible chaoge -m yum -a "name=nginx state=absent"
Actualización por lotes:
ansible chaoge -m yum -a "name='nginx' state=latest"
guión del libro de jugadas:
El primer libro de jugadas: formato yaml
parte del anfitrión anfitrión:
Especificaciones para la escritura de guiones:
Ejecución del guión:
ansible-playbook nginx.yaml
Vea la salida detallada del libro de jugadas:
ansible-playbook nginx.yaml --verbose
Playbook deployment rsyns tema de combate real:
Forma real de escribir:
Ejecute el libro de jugadas:
ansible-playbook install_rsync.yaml -C
ansible-playbook install_rsync.yaml
Supervisión de Zabbixj:
El requisito de memoria es más de 2g:
getenforce #查看防火墙状态
iptables -L #查看iptablees
free -m #服务端内存,尽量给大点
Obtenga la fuente de descarga oficial:
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
Modificar la fuente del espejo:
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
Instale el servidor y el agente zabbix:
yum install zabbix-server-mysql zabbix-agent -y
Instalar colecciones de software:
yum install centos-release-scl -y
Modifique la fuente de la sección frontal de zabbix:
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$b
asearch/frontend
enabled=1 #修改这里
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
Instale el entorno front-end de zabbix:
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
Instale la base de datos zabbix:
yum install mariadb-server -y
Inicie la base de datos y configure el autodescarte de arranque:
systemctl enable --now mariadb
Configure la contraseña de la base de datos: siga las indicaciones:
mysql_secure_installation
Conectarse a la base de datos:
[root@master ~]# mysql -u root -p
Crear una conexión a la base de datos: muy importante
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'chaoge666';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
quit;
Importar información de la base de datos: usuario zabbix:
-p va seguido del nombre de la base de datos: contraseña chaoge666
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Intenta iniciar sesión:
[root@master ~]# mysql -uzabbix -pchaoge666
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Ver base de datos:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix |
+--------------------+
2 rows in set (0.01 sec)
MariaDB [(none)]>
usar la base de datos zabbix:
MariaDB [(none)]> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]>
show tables;
Modifique la contraseña del archivo de configuración:
/etc/zabbix/zabbix_server.conf
buscar:
Compruebe si ha cambiado:
[root@zabbix-server01 data]# grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
Modificar zona horaria:
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
Inicie el servicio zabbix:
Configurar para iniciar automáticamente:
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm