使用ansible部署prometheus加上grafana
在自动化大行其道的当下,作为运维人员必须掌握的自动化。今天是做使用ansible向你的服务器集群快速部署监控系统。很适合人少机器多的中小型企业上监控告警服务。
架构
系统全部采用Centos7.2
角色 | IP地址 |
---|---|
master | 10.0.0.23 |
node1 | 10.0.0.24 |
node2 | 10.0.0.25 |
部署ansible
RHEL/Centos已经可以直接使用yum进行安装了,所以我们直接在master节点安装ansible。
$ yum install ansible -y
添加主机映射
$ vim /etc/hosts
10.0.0.23 master
10.0.0.24 node1
10.0.0.25 node2
在master节点创建SSH公钥,并将公钥拷贝到所有主机上。
$ ssh-keygen
$ ssh-copy-id master node1 node2
向ansible主机文件中添加主机、主机组
$vim /etc/ansible/hosts
[server]
master
node1
node2
测试添加主机是否成功
$ ansible all -m ping
$ansible all -a "/bin/echo hello"
部署prometheus
使用ansible来部署prometheus的话,ansible集成了很多现成的roles,我们可以直接去网上直接下载。例如:https://galaxy.ansible.com/
本次采用的是galaxy上现成的roles:
cloudalchemy.node-exporter 和cloudalchemy.prometheus将他们写好的roles下载并放到/etc/ansible/roles下
从prometheus官网下载安装包并解压
$ tar zxvf prometheus-2.14.0.linux-amd64.tar.gz -C /opt/
$ tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /opt/
修改已下载的roles的安装包目录
$ vim /etc/ansible/roles/ansible-prometheus/defaults/main.yml
prometheus_binary_local_dir: '/opt/prometheus-2.14.0.linux-amd64/'
$ vim /etc/ansible/roles/ansible-node-exporter/defaults/main.yml
prometheus_binary_local_dir: '/opt/node_exporter-0.18.1.linux-amd64/'
编写剧本
为了使用我们的role需要编写剧本(playbook)来进行安装
进入相应的rules里创建文件playbook.yml
$ cd /etc/ansible/roles/ansible-prometheus/
$ vim playbook.yml
---
- hosts: all
roles:
- ansible-prometheus
vars:
prometheus_targets:
node:
- targets:
- localhost:9100
labels:
env: demosite
$ cd /etc/ansible/roles/ansible-node-exporter/
$ vim playbook.yml
- hosts: all
roles:
- ansible-node-exporter
在master节点执行剧本(playbook)
##两个剧本都要执行
$ ansible-playbook playbook.yml
安装完成效果
访问http://localhost:9090查看prometheus的webUI界面,但是比较劣质,后续我们将数据导入到grafana上,比较好识别并且可视化比较友好。
访问http://localhost:9100/ 查看获取到的数值。
部署Grafana
进入Grafana官网下载
启动服务
$ systemctl start grafana-server
$ systemctl enable granfana-server
第一次启动失败原因:
查看日志
t=2019-12-16T12:58:52+0000 lvl=eror msg=“Failed to verify pid directory” logger=server error=“mkdir /var/run/grafana: permission denied”
解决方法,自建文件夹并修改为grafana的用户组
$ mkdir /var/run/grafana
$ chown grafana:grafana /var/run/grafana
访问http://localhost:3000
默认用户名密码 admin/admin
添加节点
剩下的大家自己研究吧
本次搭建就完成了