项目摘要:

本文是搭建一套prometheus环境的教程。

前期准备:准备三台虚拟机,本文以centos7为例。

项目具体实施:
分别进入每台虚拟机设置hostname:
# hostnamectl set-hostname prometheus.demo

# hostnamectl set-hostname agent.demo

# hostnamectl set-hostname grafana.demo

在每台虚拟机的/etc/hosts文件中加入如下内容(ip改成真实的ip地址):
ip agent.demo

ip grafana.demo

ip prometheus.demo

每台虚拟机同步时间(前两条命令不一定需要):
# mount /dev/sr0/mnt

# yum install ntpdate -y

# ntpdate -u cn.pool.ntp.org

每台禁用SELINUX
# vim /etc/selinux/config

将SELINUX=enforcing 修改为:SELINUX=disabled

每台关闭防火墙
# systemctl stop firewalld

# systemctl disable firewalld

# iptables -F

安装prometheus(登录到prometheus主机)
下载后,解压就能用,不需要编译。

下载:
# wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz

解压、移动/重命名:
# tar xf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local
# mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus

# mkdir /etc/prometheus

# cp /usr/local/prometheus/prometheus.yml /etc/prometheus/

启动:
# /usr/local/prometheus/prometheus --config.file=" /etc/prometheus/

/prometheus.yml" &

解释:&:表示后台运行

默认端口是9090

查看端口占用情况:

# lsof -i:9090 或者 ss -naltp | grep 9090

此时,浏览器输入http://ip:9090即可访问到prometheus的主界面:

安装node_exporter监控远程Linux主机(登录到agent机器)
下载:
# wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz

解压:# tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
重命名: # mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter
启动:# nohup /usr/local/node_exporter/node_exporter &
查看启动情况:# lsof -i:9100
打开浏览器输入:http://ip:9100/metrics即可看到监控信息。
将该监控添加到prometheus监控软件,登录到prometheus机器。
修改prometheus.yml

# vim /etc/prometheus/prometheus.yml

末尾添加如下内容:

- job_name: 'agent'

static_configs:

- targets: ['ip:9100']

# ps -aux | grep prome

# kill -HUP 进程号

去控制台查看。(选择statusàtargets查看)

在agent机器添加一个mysql监控
下载:
# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz

解压:tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/重命名:# mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/ /usr/local/mysqld_exporter
安装mysql数据库:
参考:https://www.jianshu.com/p/fe476f511485

创建一个mysql配置文件,写上连接的用户名与密码(和上面的授权的用户名 和密码要对应)

# vim /usr/local/mysqld_exporter/.my.cnf

[client]

user=用户名

password=密码

# nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

确认端口(9104)

# lsof -i:9104

浏览器输入:http://ip:9104/metrics即可看到监控信息。

将该监控添加到prometheus监控软件,登录到prometheus机器。

编辑如下内容:

# vim /etc/prometheus/prometheus.yml

末尾添加如下内容:

- job_name: 'agent_mysql'

static_configs:

- targets: ['ip:9104']

# kill -HUP 进程号

再次去浏览器页面观察是否添加成功。

安装grafana
下载:# wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm
安装:# rpm -ivh grafana-5.3.4-1.x86_64.rpm
启动:
# systemctl start grafana-server

# systemctl enable grafana-server

检查端口: # lsof -i:3000
打开浏览器输入:http://ip:3000查看是否成功运行。
至此,环境搭建完成。

项目实战 Prometheus环境搭建的更多相关文章

  1. OpenDaylight开发hello-world项目之开发环境搭建

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  2. node 项目中 koa2 环境搭建 以及项目发布

    环境搭建: 1.Koa 必须使用 7.6 以上的版本.如果你的版本低于这个要求,就要先升级 Node. 查看node版本方法:node -v 2.使用koa-generator生成器生成项目 安装ko ...

  3. Android内核漏洞利用技术实战:环境搭建&栈溢出实战

    前言 Android的内核采用的是 Linux 内核,所以在Android内核中进行漏洞利用其实和在 一般的 x86平台下的 linux 内核中进行利用差不多.主要区别在于 Android 下使用的是 ...

  4. Activiti实战02_环境搭建

    1:下载Activiti 访问:https://www.activiti.org/download-bpm 可以下载Activiti相关文档和历史版本压缩包,在 https://www.activit ...

  5. 基于Flask框架的Python web程序的开发实战 <一> 环境搭建

    最近在看<Flask Web开发基于Python的Web应用开发实战>Miguel Grinberg著.安道译 这本书,一步步跟着学习Flask框架的应用,这里做一下笔记 电脑只安装一个P ...

  6. 【一】Swift 3.0 新浪微博项目实战 -整体框架搭建

    最近要接手swift,所以找了个视频跟着做一下实战项目,在此记录一下过程和心得 框架搭建和目录拆分 关键词:MVVM 架构,桥接文件 桥接文件用于引入OC的头文件,Swift就可以正常使用(宏除外). ...

  7. 【JAVAWEB学习笔记】网上商城实战:环境搭建和完成用户模块

    网上商城实战 今日任务 完成用户模块的功能 1.1      网上商城的实战: 1.1.1    演示网上商城的功能: 1.1.2    制作目的: 灵活运用所学知识完成商城实战. 1.1.3    ...

  8. 1、手把手教React Native实战之环境搭建

    React Native 的宗旨是,学习一次,高效编写跨平台原生应用. 在Windows下搭建React Native Android开发环境 1.安装jdk 2.安装sdk    在墙的环境下,为了 ...

  9. Spring cloud微服务安全实战-7-3prometheus环境搭建

    Prmetheus 主要用来做来Metrics的监控和报警,这张图是官方的架构图. 这是他的核心 它的作用是根据我们的配置去完成数据的采集.服务的发现,以及数据的存储. 这是服务的发现,通过Servi ...

随机推荐

  1. rabbitMQ重复消费(结合死循环重发那一篇看)

    /** * 重复消费逻辑判断与处理 */ @Component public class RepeatMqConsumer { /** * 服务对象 */ private int count=1; @ ...

  2. 关于通用Mapper new Example使用记录

    关于通用MapperExample使用记录 环境准备 需要集成 mybatis 的 generator 插件,方便自动生成 实体类和 mapper 类,还可以生成xml,不过一般我们都不用 xml b ...

  3. springboot系列总结(一)---初识springboot

    Spring Boot是一个简化Spring开发的框架.用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用. 一说springboot ,Java ...

  4. openwrt开发笔记二:树莓派刷openwrt

    前言及准备 本笔记适用于第一次给树莓派刷openwrt系统的玩家,对刷机过程及注意事项进行了记录,刷机之后对openwrt进行一些简单配置. 使用openwrt源码制作固件需要花费一点时间. 平台环境 ...

  5. Jenkins持续集成接口压测

    步骤 自动化压测- jmeter + shell Jenkins与jmeter压测,环境要求 自动压测运行逻辑 Jmeter输出压力测试报告 压测报告与Jenkins集成 Jenkins任务:源码同步 ...

  6. Identity角色管理三(创建角色)

    首先创建视图模型 using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace Shop.Vi ...

  7. bean的作用域和生命周期

    一.Bean作用域 二.生命周期 其中,这个类实现各种接口重写各种方法,会按bean的声明周期按序执行: 其中,自定义的初始化和自定义销毁的方法不是实现接口重写,而是成员方法,并且在装配bean即在x ...

  8. 文件流转换为url

      /**  * 文件流转换为url  * @param {} data //文件流  */ export function getObjectURL(data) {   var url = null ...

  9. CodeForce-810B Summer sell-off (结构体排序)

    http://codeforces.com/problemset/problem/810/B 已知n天里,已知第i天的供货量和需求量,给定一个f,可以在n天之中选f天促销使得供货量翻倍. 问选择其中f ...

  10. PTA——c++基本输入输出

    1.使用提取符(<<)可以输出各种基本数据类型的变量的值,也可以输出指针值.(T) 2.预定义的插入符从键盘上接收数据是不带缓冲区的.(F) 3.使用操作符setw对数据进行格式输出时,需 ...