普罗米修斯Prometheus监控安装

架构:

服务端:192.168.0.204

客户端:192.168.0.206

环境准备:所有节点安装go 语言环境

rz go1.12.linux-amd64.tar.gz

tar -C /usr/local -xzf go1.12.linux-amd64.tar.gz

cat >> /etc/profile<<EOF
export PATH=$PATH:/usr/local/go/bin
EOF source /etc/profile go version 1、server端部署 1.1、 软件包准备 cd /usr/local/src
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz #服务端、客户端都部署
wget https://github.com/prometheus/prometheus/releases/download/v2.7.1/prometheus-2.7.1.linux-amd64.tar.gz #服务端部署
tar xf prometheus-2.7.1.linux-amd64.tar.gz
tar xf node_exporter-0.17.0.linux-amd64.tar.gz 1.2 启动node_exporter # 验证以Prometheus本身数据为例,在Web中查询指定表达式及图形化显示查询结果 。
mv prometheus-2.7.1.linux-amd64 /usr/local
mv node_exporter-0.17.0.linux-amd64 /usr/local/
ln -s /usr/local/prometheus-2.7.1.linux-amd64/ /usr/local/prometheus
ln -s /usr/local/node_exporter-0.17.0.linux-amd64/ /usr/local/node_exporter
cd /usr/local/node_exporter
./node_exporter &
netstat -lntp|grep 9100
http://192.168.0.204:9100/metrics 1.3 启动Prometheus cd /usr/local/prometheus
vi prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
rule_files:
- 'prometheus_rules.yml' #需定义
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
labels:
alias: prometheus - job_name: 'linux1'
static_configs:
- targets: ['192.168.0.204:9100'] #安装node_node_exporter的节点ip地址
labels:
alias: linux-node1 - job_name: 'linux2'
static_configs:
- targets: ['192.168.0.206:9100'] #安装node_node_exporter的节点ip地址
labels:
alias: linux-node2
############################################################## #添加alert规则 cat>>prometheus_rules.yml<<EOF
groups:
- name: example
rules: # Alert for any instance that is unreachable for >5 minutes.
- alert: InstanceDown
expr: up == 0
for: 5m
labels:
severity: page
annotations:
summary: "Instance {{ $labels.instance }} down"
description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes." # Alert for any instance that has a median request latency >1s.
- alert: APIHighRequestLatency
expr: api_http_request_latencies_second{quantile="0.5"} > 1
for: 10m
annotations:
summary: "High request latency on {{ $labels.instance }}"
description: "{{ $labels.instance }} has a median request latency above 1s (current value: {{ $value }}s)"
EOF 启动Prometheus
cd /usr/local/prometheus
./prometheus 浏览器访问 http://192.168.0.204:9090/targets 2、客户端部署 2.1 部署node_exporter 使用Prometheus Web来验证客户端Node Exporter的数据的采集。内存、CPU负载,磁盘等性能监控 wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz #客户端部署,可针对硬件层次进行监控
tar xf node_exporter-0.17.0.linux-amd64.tar.gz
mv node_exporter-0.17.0.linux-amd64 /usr/local/
ln -s /usr/local/node_exporter-0.17.0.linux-amd64/ /usr/local/node_exporter
cd /usr/local/node_exporter
./node_exporter &
netstat -lntp|grep 9100
http://192.168.0.206:9100/metrics #自定义Metrics 拦截器/过滤器:用于统计所有应用请求的情况
自定义Collector: 可以用于统计应用业务能力相关的监控情况 2.3、对mysql进行监控(没做) https://www.hi-linux.com/posts/27014.html #可参考
cd /usr/local/src/
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz #部署在mysql服务器上,node_exporter也部署(参考前面)
tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz
mv mysqld_exporter-0.10.0.linux-amd64 /usr/local/
ln -s /usr/local/mysqld_exporter-0.10.0.linux-amd64/ /usr/local/mysqld_exporter 
加载mysqld_exporter 添加配置文件(需要MySQL授权用户)
mysqld_exporter需要连接到MySQL,需要授权
mysql> grant replication client, process on *.* to prometheus@"localhost" identified by "";
mysql> grant select on performance_schema.* to prometheus@"localhost";
cd /usr/local/mysqld_exporter/
vim .my.cnf
[client]
user=prometheus
password=123456
nohup ./mysqld_exporter --config.my-cnf=.my.cnf & #启动 2.4、对nginx进行监控(没做) cd /usr/local
git clone git://github.com/vozlt/nginx-module-vts.git #在nginx主机上操作
./configure --prefix=/usr/local/nginx-1.12.2 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/local/nginx-module-vts
make
nginx -s stop
\cp ./objs/nginx /usr/local/nginx/sbin/
vim nginx.conf
http {
.....
###Prometheus配置##
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on; #打开vhost过滤
###Prometheus配置##
.....
server {
location /status {
#vhost_traffic_status off;
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
########################################################################################################################
wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
tar xf nginx-vts-exporter-0.9.1.linux-amd64.tar.gz ./nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://10.10.16.107/status/format/json & #启动nginx Vhost Traffic
http://10.10.16.107/status #访问nginx主机各节点状态 3、Alertmanager报警实现(安装在服务端) 3.1 下载alertmanager安装包
cd /usr/local
wget https://github.com/prometheus/alertmanager/releases/download/v0.16.0/alertmanager-0.16.1.linux-amd64.tar.gz
tar -axvf alertmanager-0.16.1.linux-amd64.tar.gz 3.2 配置alert默认启动yml文件 mkdir -p /usr/local/alertmanager-0.16.1.linux-amd64/template/
cd /usr/local/alertmanager-0.16.1.linux-amd64/
cat>> /usr/local/alertmanager-0.16.1.linux-amd64/simple.yml<<EOF
global:
smtp_smarthost: 'smtp.163.com:25'
smtp_from: '15613691030@163.com'
smtp_auth_username: ''
smtp_auth_password: 'Shaochuan@5tgb'
smtp_require_tls: false templates:
- '/usr/local/alertmanager-0.16.1.linux-amd64/template/*.html' route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 10m
receiver: default-receiver receivers:
- name: 'default-receiver'
email_configs:
- to: '15613691030@163.com'
html: '{{ template "alert.html" . }}'
headers: { Subject: "[WARN] 报警邮件test" }
EOF 3.3 配置报警发送文件样式模板 cat>> /usr/local/alertmanager-0.16.1.linux-amd64/template/alert.html<<EOF #template需要创建
{{ define "alert.html" }}
<table>
<tr><td>报警名</td><td>开始时间</td></tr>
{{ range 10 := .Alerts }}
<tr><td>{{ index $alert.Labels "alertname" }}</td><td>{{ $alert.StartsAt }}</td></tr>
{{ end }}
</table>
{{ end }}
EOF 3.4 配置alert.html cat>> /usr/local/alertmanager-0.16.1.linux-amd64/alert.html<<EOF
{{ define "alert.html" }}
<table>
<tr><td>报警名</td><td>开始时间</td></tr>
{{ range 10 := .Alerts }}
<tr><td>{{ index $alert.Labels "alertname" }}</td><td>{{ $alert.StartsAt }}</td></tr>
{{ end }}
</table>
{{ end }}
EOF 3.5 启动alertmanager服务 ./alertmanager --config.file=simple.yml #启动alertmanager 4、Grafana安装、启动(安装在服务端) wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.3-1.x86_64.rpm
yum install -y urw-fonts
rpm -i grafana-5.2.3-1.x86_64.rpm
/sbin/chkconfig --add grafana-server
systemctl start grafana-server.service 浏览器访问:
http://192.168.0.204:3000(默认账号密码admin/admin) 进去后会要求修改密码,然后点击add datasource,选中 Prometheus 2.0 Stats后,就可以呈现出监控面板









6、Prometheus监控总结 6.1 做好ntp时间同步 prometheus对系统时间的准确性要求很高,必须保证本机时间与监控主机实时同步: 参照:
https://blog.csdn.net/csolo/article/details/82460539
http://www.cnblogs.com/qianjingchen/articles/9578341.html

普罗米修斯Prometheus监控安装的更多相关文章

  1. 监控神器-普罗米修斯Prometheus的安装

    搬砖党的福音:普罗米修斯-监控神器 功能: 在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端).我们可以通过客户 ...

  2. 一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本 ...

  3. 普罗米修斯!Ubuntu下prometheus监控软件安装使用

    *Prometheus* 是一个开源的服务监控系统和时间序列数据库 官方网站:prometheus.io 一.安装prometheus cd /usr/local/        #进入安装目录 wg ...

  4. Prometheus普罗米修斯快速入门

    欢迎来到普罗米修斯! Prometheus是一个监控平台,通过从监控目标的抓取HTTP端点上获取指标. 本指南将展示如何使用和安装Promethues,配置和监视第一个资源.还将下载并安装导出器Exp ...

  5. 在Grafana使用普罗米修斯

    aaarticlea/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IE ...

  6. 当ABAP遇见普罗米修斯

    Jerry每次在工作场合中同Prometheus(普罗米修斯)打交道时,都会"出戏",因为这个单词给我的第一印象,并不是用go语言实现的微服务监控利器,而是名导雷德利·斯科特(Ri ...

  7. 普罗米修斯+grafana监控k8s

    其实现原理有点类似ELK.node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus, prometheus负责存储这些数据,grafana将这些数据通过 ...

  8. (2012年旧文)纪念史蒂夫乔布斯---IT界的普罗米修斯

    谈苹果与乔布斯系列一  IT界的普罗米修斯 纪念PC界的先驱 史蒂夫乔布斯 2012-4-5 清明节,纪念IT时代的开创人—伟大的史蒂夫 乔布斯. 没有乔布斯,计算机还是属于一群科技人士的工具,没有漂 ...

  9. 记录一次k8s环境尝试过程(初始方案,现在已经做过很多完善,例如普罗米修斯)

    记录一次Team k8s环境搭建过程(初始方案,现在已经做过很多完善,例如普罗米修斯) span::selection, .CodeMirror-line > span > span::s ...

随机推荐

  1. Git----常见工作管理总结

    1.工作流程模式: 首先,可以试图用git push origin branch-name推送自己的修改 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并 如果合并有冲突, ...

  2. mac下解决中文乱码的问题

    最近在做自己的博客项目,需要在公司和家代码同步,当然代码托管到了码云上面,但是公司是win系统,家里是mac系统,奇怪的是在公司.....算了不废话了,直接正题吧. 就是代码在公司中文显示没毛病,然后 ...

  3. 2019HDU多校第九场 Rikka with Quicksort —— 数学推导&&分段打表

    题意 设 $$g_m(n)=\begin{cases}& g_m(i) = 0,     \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ...

  4. BZOJ4802 欧拉函数 (Pollard-Rho Miller-Robin)

    题目 求大数的欧拉函数φ\varphiφ 题解 Pollard-Rho 板子 CODE #pragma GCC optimize (3) #include <bits/stdc++.h> ...

  5. vs编译自定义编译任务记录,msbuild

    https://www.cnblogs.com/whitewolf/archive/2011/07/27/2119005.html http://www.cnblogs.com/hjf1223/arc ...

  6. centos svn的安装和配置

    1.安装svn yum -y install subversion 2.配置 mkdir /home/svn/admin/test mkdir /home/svn/svnrepos svnadmin ...

  7. 1101: [POI2007]Zap(莫比乌斯反演)

    1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定 ...

  8. TensorFlow(十八):从零开始训练图片分类模型

    (一):进入GitHub下载模型-->下载地址 因为我们需要slim模块,所以将包中的slim文件夹复制出来使用. (1):在slim中新建images文件夹存放图片集 (2):新建model文 ...

  9. 【概率论】5-1:分布介绍(Special Distribution Introduction)

    title: [概率论]5-1:分布介绍(Special Distribution Introduction) categories: - Mathematic - Probability keywo ...

  10. UOJ 449 【集训队作业2018】喂鸽子 【生成函数,min-max容斥】

    这是第100篇博客,所以肯定是要水过去的. 首先看到这种形式的东西首先min-max容斥一波,设\(f_{c,s}\)表示在\(c\)只咕咕中,经过\(s\)秒之后并没有喂饱任何一只的概率. \[ \ ...