alerting:
alertmanagers:
-
static_configs:
-
targets:
- alertmanager:9093
Load rules once and periodically evaluate them according to the global ‘evaluation_interval’.
rule_files:
- “first_rules.yml”
- “second_rules.yml”
A scrape configuration containing exactly one endpoint to scrape:
Here it’s Prometheus itself.
scrape_configs:
The job name is added as a label job=<job_name>
to any timeseries scraped from this config.
- job_name: ‘prometheus’
metrics_path defaults to ‘/metrics’
scheme defaults to ‘http’.
static_configs:
- targets: [‘localhost:9090’]
{% for ip in pillar[‘nodes’] %}
- job_name: “{{ ip }}”
static_configs:
- targets: [“{{ ip }}”]
{% endfor %}
[root@master files]# pwd
/srv/salt/prod/modules/prometheus/files
[root@master files]# cat prometheus.service.j2
[Unit]
Description=The Prometheus Server
After=network.target
[Service]
Restart=on-failure
ExecStart={{ pillar[‘prometheus_install_dir’] }}/prometheus/prometheus --config.file={{ pillar[‘prometheus_install_dir’] }}/prometheus/prometheus.yml
ExecStop=/bin/kill -HUP $MAINPID
RestartSec=15s
[Install]
WantedBy=multi-user.target
执行server.sls
[root@master ~]# salt ‘p1’ state.sls modules.prometheus.server saltenv=prod
p1:
ID: copy-grafana-enterprise
Function: file.managed
Name: /usr/src/grafana-enterprise-8.2.5-1.x86_64.rpm
Result: True
Comment: File /usr/src/grafana-enterprise-8.2.5-1.x86_64.rpm is in the correct state
Started: 01:04:57.614250
Duration: 477.94 ms
Changes:
ID: install-grafana
Function: cmd.run
Name: cd /usr/src/ && yum -y install grafana-enterprise-8.2.5-1.x86_64.rpm
Result: True
Comment: unless condition is true
Started: 01:04:58.092946
Duration: 1671.231 ms
Changes:
ID: unzip-prometheus
Function: archive.extracted
Name: /usr/local
Result: True
Comment: unless condition is true
Started: 01:04:59.764475
Duration: 17.066 ms
Changes:
ID: unzip-prometheus
Function: file.symlink
Name: /usr/local/prometheus
Result: True
Comment: Symlink /usr/local/prometheus is present and owned by root:root
Started: 01:04:59.781935
Duration: 7.926 ms
Changes:
ID: copy-files
Function: file.managed
Name: /usr/lib/systemd/system/prometheus.service
Result: True
Comment: File /usr/lib/systemd/system/prometheus.service is in the correct state
Started: 01:04:59.789997
Duration: 13.572 ms
Changes:
ID: copy-files
Function: file.managed
Name: /usr/local/prometheus/prometheus.yml
Result: True
Comment: File /usr/local/prometheus/prometheus.yml updated
Started: 01:04:59.803711
Duration: 20.654 ms
Changes:
diff:
+++
@@ -29,9 +29,9 @@
-
targets: [‘localhost:9090’]
-
- job_name: “192.168.129.135:9100”
-
- job_name: “192.168.129.133:9100”
static_configs:
-
- targets: ["192.168.129.135:9100"]
-
- targets: ["192.168.129.133:9100"]
- job_name: “192.168.129.136:9100”
static_configs:
ID: start-grafana-enterprise
Function: service.running
Name: grafana-server.service
Result: True
Comment: The service grafana-server.service is already running
Started: 01:04:59.824632
Duration: 41.703 ms
Changes:
ID: start-prometheus
Function: service.running
Name: prometheus.service
Result: True
Comment: Service prometheus.service is already enabled, and is running
Started: 01:04:59.867011
Duration: 97.745 ms
Changes:
prometheus.service:
True
Summary for p1
Succeeded: 8 (changed=2)
Failed: 0
Total states run: 8
Total run time: 2.348 s
[root@master prometheus]# pwd
/srv/salt/prod/modules/prometheus
[root@master prometheus]# cat agent.sls
unzip-node_exporter:
archive.extracted:
-
name: {{ pillar[‘node_exporter_install_dir’] }}
-
source: salt://modules/prometheus/files/node_exporter-1.3.0.linux-amd64.tar.gz
-
unless: test -d {{ pillar[‘node_exporter_install_dir’] }}/node_exporter-1.3.0.linux-amd64
file.symlink:
-
name: {{ pillar[‘node_exporter_install_dir’] }}/node_exporter
-
target: {{ pillar[‘node_exporter_install_dir’] }}/node_exporter-1.3.0.linux-amd64
/usr/lib/systemd/system/node_exporter.service:
file.managed:
-
source: salt://modules/prometheus/files/node_exporter.service.j2
-
user: root
-
group: root
-
mode: ‘0644’
-
template: jinja
node_exporter.service:
service.running:
-
reload: true
-
enable: true
-
watch:
-
file: /usr/lib/systemd/system/node_exporter.service
[root@master prometheus]# cat files/node_exporter.service.j2
[unit]
Description=The node_exporter Server
After=network.target
[Service]
ExecStart={{ pillar[‘node_exporter_install_dir’] }}/node_exporter/node_exporter
Restart=on-failure
RestartSec=15s
SyslogIdentifier=node_exporter
[Install]
WantedBy=multi-user.target
执行agent.sls
[root@master ~]# salt ‘p2’ state.sls modules.prometheus.agent saltenv=prod
p2:
ID: unzip-node_exporter
Function: archive.extracted
Name: /usr/local/
Result: True
Comment: unless condition is true
Started: 00:53:55.563311
Duration: 1534.873 ms
Changes:
ID: unzip-node_exporter
Function: file.symlink
Name: /usr/local//node_exporter
Result: True
Comment: Symlink /usr/local//node_exporter is present and owned by root:root
Started: 00:53:57.098551
Duration: 5.494 ms
Changes:
ID: /usr/lib/systemd/system/node_exporter.service
Function: file.managed
Result: True
Comment: File /usr/lib/systemd/system/node_exporter.service updated
Started: 00:53:57.104187
Duration: 46.98 ms
Changes:
diff:
New file
mode:
0644
ID: node_exporter.service
Function: service.running
Result: True
Comment: Service node_exporter.service has been enabled, and is running
Started: 00:53:57.151820
Duration: 282.957 ms
Changes:
node_exporter.service:
True
Summary for p2
Succeeded: 4 (changed=2)
Failed: 0
Total states run: 4
Total run time: 1.870 s
[root@master ~]# salt ‘*’ state.sls modules.prometheus.agent saltenv=prod
[root@master ~]# vim /srv/salt/prod/modules/prometheus/main.sls
prod:
‘p1’
- modules.prometheus.server
‘p2’
- modules.prometheus.agent
[root@master ~]# salt ‘*’ state.highstate
-
首次登陆时需要ip+端口号(默认为3000)
-
默认账号:admin 密码:admin
再次输入(因为你是首次登陆)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-bOIa2pla-1714952263855)]
[外链图片转存中…(img-ApOw8rFG-1714952263856)]
[外链图片转存中…(img-ID4q8Kg0-1714952263856)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!