z
zabbix离线部署安装
1. 推荐系统版本
centos7
2.所需jar包
3. 安装docker
参考⽂档
1.解压
tar -xvf docker-18.06.1-ce.tgz
2、将解压出来的docker⽂件内容移动到 /usr/bin/ ⽬录下
cp docker/* /usr/bin/
3.将docker注册为service
vim /etc/systemd/system/docker.service
将下列配置加到docker.service中并保存
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --graph /home/docker
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
4.启动
chmod +x /etc/systemd/system/docker.service #添加⽂件权限并启动docker
systemctl daemon-reload #重载unit配置⽂件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机⾃启
5.验证
systemctl status docker #查看Docker状态
docker version #查看Docker版本
4.安装docker-compose
将docker-compose拷⻉到⽬标主机后,放⼊相应⽬录中,并修改权限
cp docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
5.把server端所需jar包导入docker成为镜像
6.在docker-compose目录下新建文件夹,放入docker-compose.yml
注意: 此⽂件对格式要求⾮常严格,必须要缩进对⻬好
根据选⽤的镜像进⾏改写
需要修改的地⽅主要是 environment、image、volumes,如果默认端⼝被占⽤,可以修改端⼝。
如果使⽤https镜像,需要将ports 80:8080 改成 443:8443
version: "3.7"
services:
mysql:
container_name: mysql-server
image: mysql:8.0
networks:
- zabbix-demo
security_opt:
- seccomp:unconfined
environment:
MYSQL_USER: zabbix
MYSQL_PASSWORD: AH_5G_nms@2020
MYSQL_ROOT_PASSWORD: AH_5G_dpi@2020
MYSQL_DATABASE: zabbix
command: --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
volumes:
- /home/docker/mysql:/var/lib/mysql
server:
container_name: zabbix-server-mysql
image: server-mysql-base:v1
networks:
- zabbix-demo
environment:
DB_SERVER_HOST: mysql-server
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: AH_5G_nms@2020
MYSQL_ROOT_PASSWORD: AH_5G_dpi@2020
volumes:
- /home/docker/ExternalScripts:/usr/lib/zabbix/externalscripts
ports:
- "10051:10051"
depends_on:
- mysql
web:
container_name: zabbix-web-nginx-mysql
image: web-nginx-mysql-sino-https:v2
networks:
- zabbix-demo
environment:
ZBX_SERVER_HOST: zabbix-server-mysql
DB_SERVER_HOST: mysql-server
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: AH_5G_nms@2020
MYSQL_ROOT_PASSWORD: AH_5G_dpi@2020
ZBX_SERVER_NAME: NMS8000
ports:
- "443:8443"
depends_on:
- server
networks:
zabbix-demo:
7.启动服务
# 到docker-compose.yml所在的⽬录,运⾏
docker-compose up -d
# 查看容器启动情况
docker ps -a
8.页面访问
9.安装agent
1.所需包
2.下载安装好包
4.修改配置文件/etc/zabbix/zabbix/zabbix_agentd.conf
5.重启服务
systemctl restart zabbix-agent
10.告警配置
(1)安装mailx工具 yum -y install mailx
(2)配置zabbix服务器外部邮箱
vim /etc/mail.rc 打开文件
```javascript
set bsdcompat
set from=1136145321@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1136145321@qq.com
set smtp-auth-password=drripjdxvotibaae
set smtp-auth=login
```
(3)测试发送邮件
```javascript
echo “this is test mail” | mail -s “text_mail” 473379613@qq.com
```
(补充知识)
重点
zabbix启动:
zabbix+docker (上面有)
zabbix 重要的几个部分
zabbix-server zabbix_server.conf
zabbix-agent zabbix_agent.conf
zabbix -proxy zabbix_agent.conf
11.ansible
学习链接:https://www.cnblogs.com/keerya/p/7987886.html
步骤1:
安装ansible
1.安装epel-release
```javascript
yum install epel-release
```
2.安装ansible
yum install ansible
步骤2:
在server端生成密钥对 ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ‘’
将公钥传输到被管理节点,建立信用关系
ssh-copy-id +主机ip或主机名
步骤3:
ping模块测试主机间的连通性
```javascript
ansible 192.168.91.142 -m ping (方法一)
ansible 192.168.91.142, -m ping 或 ansible 192.168.91.142,IP地址 -m ping (方法二)可多个ip测试ping
(在主机清单中需要配置该IP)
```
192.168.91.142 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
copy模块
touch /tmp/a.conf -- 创建一个文件
ansible 192.168.91.142 -m copy -a "src=/tmp/a.conf dest=/tem/a.conf" --执行将主机文件copy到指定主机ip的文件目录下
主机清单
1. 作用:一、用于读取主机ip或主机名称,二、实现主机分组
2.配置(vim /etc/ansible/hosts):
(1)主机清单文件中添加ip或主机名
(2)在主机清单文件中添加一个分组,然后再添加ip或主机名到分组中
--列出所有清单ip
ansible all -i /etc/ansible/hosts --list-hosts
--列出组ip清单
ansible 组名 -i /etc/ansible/hosts --list-hosts
command 和 shell