项目实战 Prometheus环境搭建
项目摘要:
本文是搭建一套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环境搭建的更多相关文章
- OpenDaylight开发hello-world项目之开发环境搭建
OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...
- node 项目中 koa2 环境搭建 以及项目发布
环境搭建: 1.Koa 必须使用 7.6 以上的版本.如果你的版本低于这个要求,就要先升级 Node. 查看node版本方法:node -v 2.使用koa-generator生成器生成项目 安装ko ...
- Android内核漏洞利用技术实战:环境搭建&栈溢出实战
前言 Android的内核采用的是 Linux 内核,所以在Android内核中进行漏洞利用其实和在 一般的 x86平台下的 linux 内核中进行利用差不多.主要区别在于 Android 下使用的是 ...
- Activiti实战02_环境搭建
1:下载Activiti 访问:https://www.activiti.org/download-bpm 可以下载Activiti相关文档和历史版本压缩包,在 https://www.activit ...
- 基于Flask框架的Python web程序的开发实战 <一> 环境搭建
最近在看<Flask Web开发基于Python的Web应用开发实战>Miguel Grinberg著.安道译 这本书,一步步跟着学习Flask框架的应用,这里做一下笔记 电脑只安装一个P ...
- 【一】Swift 3.0 新浪微博项目实战 -整体框架搭建
最近要接手swift,所以找了个视频跟着做一下实战项目,在此记录一下过程和心得 框架搭建和目录拆分 关键词:MVVM 架构,桥接文件 桥接文件用于引入OC的头文件,Swift就可以正常使用(宏除外). ...
- 【JAVAWEB学习笔记】网上商城实战:环境搭建和完成用户模块
网上商城实战 今日任务 完成用户模块的功能 1.1 网上商城的实战: 1.1.1 演示网上商城的功能: 1.1.2 制作目的: 灵活运用所学知识完成商城实战. 1.1.3 ...
- 1、手把手教React Native实战之环境搭建
React Native 的宗旨是,学习一次,高效编写跨平台原生应用. 在Windows下搭建React Native Android开发环境 1.安装jdk 2.安装sdk 在墙的环境下,为了 ...
- Spring cloud微服务安全实战-7-3prometheus环境搭建
Prmetheus 主要用来做来Metrics的监控和报警,这张图是官方的架构图. 这是他的核心 它的作用是根据我们的配置去完成数据的采集.服务的发现,以及数据的存储. 这是服务的发现,通过Servi ...
随机推荐
- python·那些不值钱的经验
时间:2018-11-22 整理:byzqy python读写文本文件 1 # -*- coding: utf-8 -*- 2 3 def read_file(file): 4 with open(f ...
- Kickstart无人值守原理及简介
原文转自:https://www.cnblogs.com/itzgr/p/10029461.html作者:木二 目录 一 简介及原理 二 搭建无人值守步骤 三 PXE介绍 四 Kickstart简介 ...
- 使用kubeadm安装kubernetes 1.21
文章原文 配置要求 至少2台 2核4G 的服务器 本文档中,CPU必须为 x86架构 CentOS 7.8 或 CentOS Stream 8 安装后的软件版本为 Kubernetes v1.21.x ...
- openwrt开发笔记一:源码下载与编译
1.1 环境要求 编译系统:Linux发行版(本文使用Ubuntu) 编译一个可以安装的OpenWrt固件镜像文件(大约8MB大小的),你需要: 一个纯净的OpenWrt编译系统大约需要200MB的空 ...
- MapperScannerConfigurer之sqlSessionFactoryBeanName注入方式
Spring整合Mybatis时,项目启动时报错:(MapperScannerConfigurer之sqlSessionFactoryBeanName注入方式) pringframework.bean ...
- Model 特性
表 1 AssociatedMetadataTypeTypeDescriptionProvider 通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息. AssociationAttr ...
- 传递集合参数以及SpringMVC和Struts2的区别
一.传递集合参数 二.和Struts2的区别 Struts2是基于类封装请求参数,SpringMVC是基于方法封装参数:
- mybatis和hibernate区别
一.本质区别和应用场景
- 238 day02_Collection、泛型
day02[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 [ ] 能够说出集合与数组的区别 [ ] 说出Collection集合的常用功能 [ ...
- 【PHP数据结构】图的遍历:深度优先与广度优先
在上一篇文章中,我们学习完了图的相关的存储结构,也就是 邻接矩阵 和 邻接表 .它们分别就代表了最典型的 顺序存储 和 链式存储 两种类型.既然数据结构有了,那么我们接下来当然就是学习对这些数据结构的 ...