本文分享自天翼云开发者社区《Ansible部署Node_exporter》,作者:SummerSnow

一、简介

Ansible是基于Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Exporter是Prometheus的指标数据收集组件,而node_exporter就是我们常用的其中之一,它主要用于采集类UNIX内核的硬件以及系统指标,如磁盘、cpu、内存等信息。

二、环境说明

#操作系统版本
[root@XXXXX][~]
$cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core) #Ansible版本
ansible 2.9.25
#node-exporter版本
node_exporter-1.2.2
#环境说明:本操作未涉及容器化部署,同时在centos 7环境进行部署

三、安装Ansible

#上传已经准备好的的安装包(内网环境)
[root@XXXXX ~] tar -zxvf ansible.tar.gz #使用下面的命令进行安装(yum本地安装)
[root@XXXXX ~]# yum localinstall *.rpm -y #查看ansible版本
[root@XXX][~]
$ansible --version
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']

四、使用Ansible部署node_exporter

1)填写需要部署的主机清单host

#如果机器之间已经做了免密,那就去掉ansible_ssh_pass改配置,多台机器直接追加就行
[root@XXXXXX][~]
$vim host
[node]
XX.XX ansible_ssh_user=XXX ansible_ssh_pass="XXXXXX"
XX.XX ansible_ssh_user=XXX ansible_ssh_pass="XXXXXX"

2)编写Ansible的剧本文件node_exporter.yml

---
- hosts: node
gather_facts: yes
become: yes
become_method: sudo
become_user: root
tasks:
- name: 添加prometheus用户
user:
name: prometheus
password: "{{ 'XXXXX' | password_hash('sha512') }}"
home: /home/prometheus - name: 创建node_exporter_script目录
file:
path: /home/prometheus/node_exporter_script
state: directory
mode: '0755'
owner: prometheus
group: prometheus - name: 创建node_exporter_textfile目录
file:
path: /home/prometheus/node_exporter_textfile
state: directory
mode: '0755'
owner: prometheus
group: prometheus - name: 安装CentOS7的node_exporter
unarchive: src=node_exporter-1.2.2.linux-amd64.tar.gz dest=/home/prometheus mode='0755' owner=prometheus group=prometheus
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7" - name: 添加CentOS7的node_exporter服务
copy: src=prometheus_node_exporter.service dest=/usr/lib/systemd/system/prometheus_node_exporter.service
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7" - name: 开启centos7的prometheus_node_exporter服务并设置开机自启动
systemd:
name: prometheus_node_exporter
daemon_reload: yes
state: restarted
enabled: yes
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7"

3)编写node-exporter的注册服务文件

[root@XXX][~]
$vim prometheus_node_exporter.service
[Unit]
Description=Prometheus node_exporter
Requires=network.target remote-fs.target
After=network.target remote-fs.target [Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter --collector.textfile.directory=/home/prometheus/node_exporter_textfile
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=5s [Install]
WantedBy=multi-user.target

4)命令执行

[root@XXX ~]
$ansible-playbook node_exporter.yml -i host

5)服务验证

#验证目标端口是否开启
[root@XXXXX ~]
$telnet 目标主机 9100

至此,使用Ansible部署node-exporter完成。

Ansible部署Node_exporter的更多相关文章

  1. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  2. 使用Ansible部署etcd 3.2高可用集群

    之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...

  3. ansible部署,规划

    部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...

  4. CentOS7.5 -- Ansible部署与应用

    第1章 Ansible概述 Ansible是一个配置管理系统configuration management system python 语言是运维人员必须会的语言 ansible 是一个基于pyth ...

  5. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  6. SSH与ansible 部署方法与核心模块简介

    SSH与ansible 部署方法 部署环境 管理服务器 172.16.1.61 NFS服务器 172.16.1.31 备份服务器 172.16.1.41 1检查SSH服务是否运行并开启服务 netst ...

  7. 003 ansible部署ceph集群

    介绍:在上一次的deploy部署ceph,虽然出了结果,最后的结果并没有满足最初的目的,现在尝试使用ansible部署一遍,看是否会有问题 一.环境准备 ceph1充当部署节点,ceph2,ceph3 ...

  8. k8s ansible部署部署文档

    一:基础系统准备 ubuntu 1804----> root密码:123456 主要操作:   1.更改网卡名称为eth0: # vim /etc/default/grub GRUB_CMDLI ...

  9. 使用Ansible部署openstack平台

    使用Ansible部署openstack平台 本周没啥博客水了,就放个云计算的作业上来吧(偷个懒) 案例描述 1.了解高可用OpenStack平台架构 2.了解Ansible部署工具的使用 3.使用A ...

  10. rh358 004 bind反向,转发,主从,各种资源记录 unbound ansible部署bind unbound

    通过bind实现正向,反向,转发,主从,各种资源记录 7> 部署反向解析 从ip解析到fqdn vim /etc/named.conf zone "250.25.172.in-addr ...

随机推荐

  1. 计算机组成原理 L02 指令集体系结构(ISA)复习-1

    计算机组成原理 L02 指令集体系结构(ISA)复习-1 复习-1 用作例题/课后题整理 复习-2 用作理论知识点整理 如何使用大常数 由于大数值范围:[-2^31, 2^31-1],而I型指令常数字 ...

  2. springboot的jar包转war放入tomcat

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 1. 修改pom文件,打包形式改为war 2.移除内嵌的tomcat模块,但是为了在本机测试方便,我们还需要引入它,所以配置如下 3.修改启动 ...

  3. Kubernetes初学乍练(资源管理)

    1.资源管理介绍 在Kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理Kubernetes.怎么理解,就好比我们常说的面向对象语言,一切皆对象. Kubernetes的本质就是 ...

  4. CAN304 W1

    CAN304 W1 Definition The protection afforded to an automated information system in order to attain t ...

  5. Linux在线安装MySQL5.7

    Linux在线安装MySQL 5.7及编码密码修改 先检测系统是否自带安装mysql yum list installed | grep mysql 若出现mysql相关信息,卸载原始版本 yum - ...

  6. python字典批量删除多个键值对(连续)

    搜不到字典批量删除多个键值对的方法,换了个搜索姿势,批量取N个元素,那么组合一下,就出来了! 新建一个字典dict:  目标:去掉key为c,d,e的键值对. 最常见的就是直接删除,但是这样有个弊端, ...

  7. DataEase 远程代码执行漏洞分析

    漏洞描述 DataEase 是一款开源的数据可视化分析工具,旨在帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化. 漏洞影响版本: DataEase < 2.10.10 漏洞详情: ...

  8. k8s一、基本概念

    目录 Kubernetes的设计架构 Master Node 组件简的基本交互流程 Kubernetes的核心对象 Pod 控制器 Replication Controller 和 ReplicaSe ...

  9. Blazor学习之旅:文章目录索引

    1 Blazor学习路径 微软学习社区(Microsoft Learn)早在两三年前就推出了一门学习路径<使用Blazor构建Web应用程序>,我们可以学到如何通过Blazor Web应用 ...

  10. SQL Server 部分包含数据库的原理

    原文链接:https://blog.csdn.net/zhoujunah/java/article/details/103513426 包含是针对数据库独立性而来的,非包含数据库(SQL Server ...