七、部署zabbix+Grafana实现对各主机的监控
7.1环境说明
|
主机 |
IP地址 |
备注 |
|
lb01 |
192.168.1.5 |
zabbix-agent收集指标 |
|
lb02 |
192.168.1.6 |
zabbix-agent收集指标 |
|
web01 |
192.168.1.7 |
zabbix-agent收集指标 |
|
web02 |
192.168.1.8 |
zabbix-agent收集指标 |
|
web03 |
192.168.1.9 |
zabbix-agent收集指标 |
|
Mysql-proxy |
192.168.1.10 |
zabbix-agent收集指标 |
|
db01 |
192.168.1.11 |
zabbix-agent收集指标 |
|
db02 |
192.168.1.12 |
zabbix-agent收集指标 |
|
db03 |
192.168.1.13 |
zabbix-agent收集指标 |
|
MHA-Manager |
192.168.1.14 |
zabbix-agent收集指标 |
|
NFS+Redis |
192.168.1.16 |
zabbix-agent收集指标 |
|
Backup |
192.168.1.17 |
zabbix-agent收集指标 |
|
zabbix+grafana |
192.168.1.19 |
zabbix-server接收指标并使用grafana出图 |
|
EFK |
192.168.1.20 |
日志收集系统 |
7.2服务端安装
执行主机zabbix+grafana
7.2.1 zabbix安装
准备zaibbix安装源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm yum-config-manager --enable rhel-7-server-optional-rpms
安装zabbix服务端软件
yum install mariadb mariadb-server httpd zabbix-server-mysql zabbix-agent-mysql -y
启动数据库并设置密码
systemctl enable mariadb systemctl start mariadb mysqladmin -uroot -p password '123456'
创建zabbix数据库
mysql -uroot -p123456 create database zabbix character set utf8 collate utf8_bin;
创建zabbix用户
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
初始化zabbix数据库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
配置zabbix-server配置文件,将DBHost注释打开
sed -i '/^#DBHost=/c DBHost=localhost' /etc/zabbix/zabbix_server.conf
配置web服务时区
sed -i '/date.timezone/a php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
启动服务
systemctl enable zabbix-server && systemctl start zabbix-server
systemctl enable httpd && systemctl start httpd
安装zabbix web前端
打开浏览器,输入http://192.168.1.19/zabbix,按提示操作即可
自动注册动作设置
登录web,在配置中创建自动注册类型动作,设置注册条件及选项即可进行管理
7.2.2 grafana安装
准备grafana安装源
cat > /etc/yum.repos.d/grafana.repo << 'EOF' [grafana] name=grafana baseurl=https://packages.grafana.com/enterprise/rpm repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packages.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt EOF
安装依赖
yum install initscripts urw-fonts wget -y
安装grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.1-1.x86_64.rpm yum localinstall grafana-enterprise-9.2.1-1.x86_64.rpm
启动
systemctl enable grafana-server && systemctl start grafana-server
安装zabbix插件并重启grafana-server
grafana-cli plugins install alexanderzobnin-zabbix-app
登录grafana,开启zabbix插件
依次点击:Configuration--plugins--zabbix 选择 enable
配置数据源
依次点击:Configuration--Data sources--Add data source--zabbix 相关选项按以下填写 HTTP URL:http://localhost/zabbix/api_jsonrpc.php Zabbix API details User:Admin Password:zabbix Save & test
创建仪表盘
Dashboards--New Dashboards--Add a new panel
7.3客户端
使用Anseble对各主机进行批量安装,在Openvpn主机上进行操作管理
安装ansible工具
yum install -y ansible
编写管理的主机清单
cat > /etc/ansible <<EOF [lb] 192.168.1.5 192.168.1.6 [web] 192.168.1.7 192.168.1.8 192.168.1.9 [mysql-proxy] 192.168.1.10 [db] 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 [nfs] 192.168.1.16 [backup] 192.168.1.17 [zabbix] 192.168.1.19 [efk] 192.168.1.20 EOF
创建zabbix角色
ansible-galaxy init zabbix
准备zabbix_agent.conf配置文件,拷贝到角色的模板目录中,采取自动注册模式,使用facts变量生成对应主机的配置文件
vim /etc/ansible/roles/zabbix/template/zabbix._agent.conf …… Server=192.168.1.19 …… ServerActive=192.168.1.19 …… Hostname={{ ansible_hostname }} ……
编写剧本任务
vim /etc/ansible/roles/zabbix/tasks/main.yml --- - name: 1-安装zabbix 源 shell: cmd: rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm when: ansible_eth0.ipv4.address != "192.168.1.19" - name: 2-安装zabbix-agent yum: name: zabbix-agent state: present when: ansible_eth0.ipv4.address != "192.168.1.19" - name: 3-推送zabbix-agent.conf模板文件 template: src: zabbix_agentd.conf dest: /etc/zabbix when: ansible_eth0.ipv4.address != "192.168.1.19" - name: 4-启动zabbix-agnet service: name: zabbix-agent state: started enable: true when: ansible_eth0.ipv4.address != "192.168.1.19"
应用角色
vim /etc/ansible/roles/roles.yml - hosts: all roles: zabbix
执行
ansible-playbook /etc/ansible/roles.yaml

浙公网安备 33010602011771号