[修改]修改了时间配置的变量对应,添加了supervisor启动配置,增加了Prometheus对应的confd模版
This commit is contained in:
@@ -2,6 +2,7 @@ FROM openeuler/openeuler:24.03
|
|||||||
|
|
||||||
RUN dnf update -y && \
|
RUN dnf update -y && \
|
||||||
dnf clean all && \
|
dnf clean all && \
|
||||||
|
dnf install -y supervisor &&\
|
||||||
rm -rf /var/cache/dnf/*
|
rm -rf /var/cache/dnf/*
|
||||||
|
|
||||||
RUN curl -fsSL https://github.com/prometheus/prometheus/releases/download/v2.54.0/prometheus-2.54.0.linux-amd64.tar.gz | tar -xz -C /usr/local/bin && \
|
RUN curl -fsSL https://github.com/prometheus/prometheus/releases/download/v2.54.0/prometheus-2.54.0.linux-amd64.tar.gz | tar -xz -C /usr/local/bin && \
|
||||||
@@ -9,9 +10,13 @@ RUN curl -fsSL https://github.com/prometheus/prometheus/releases/download/v2.54.
|
|||||||
rm /usr/local/bin/prometheus-* -rf && \
|
rm /usr/local/bin/prometheus-* -rf && \
|
||||||
chmod +x /usr/local/bin/prometheus
|
chmod +x /usr/local/bin/prometheus
|
||||||
|
|
||||||
|
RUN curl -fsSL https://github.com/abtreece/confd/releases/download/v0.20.0/confd-v0.20.0-linux-amd64.tar.gz | tar -xz -C /usr/local/bin && \
|
||||||
|
chmod +x /usr/local/bin/confd
|
||||||
|
|
||||||
RUN mkdir /etc/prometheus/
|
RUN mkdir /etc/prometheus/
|
||||||
|
|
||||||
COPY prometheus.yml /etc/prometheus/prometheus.yml
|
COPY prometheus.yml /etc/prometheus/prometheus.yml
|
||||||
|
|
||||||
CMD ["prometheus", "--config.file=/etc/prometheus/prometheus.yml"]
|
COPY COPY ./supervisord/ /etc/supervisord/
|
||||||
|
|
||||||
|
CMD [ "supervisord", "-c", "/etc/supervisord/supervisord.conf" ]
|
||||||
|
|||||||
8
docker/prometheus/confd/conf.d/prometheus.toml
Normal file
8
docker/prometheus/confd/conf.d/prometheus.toml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[template]
|
||||||
|
src = "prometheus.tmpl"
|
||||||
|
dest = "/prometheus.yml"
|
||||||
|
keys = [
|
||||||
|
"/time/",
|
||||||
|
]a
|
||||||
|
|
||||||
|
|
||||||
6
docker/prometheus/confd/confd.toml
Normal file
6
docker/prometheus/confd/confd.toml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
backend = "etcd"
|
||||||
|
nodes = [
|
||||||
|
"http://etcd:2379",
|
||||||
|
]
|
||||||
|
watch = true
|
||||||
|
|
||||||
13
docker/prometheus/confd/templates/prometheus.tmpl
Normal file
13
docker/prometheus/confd/templates/prometheus.tmpl
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
global:
|
||||||
|
scrape_interval: {{ getv "/time/global_scrape_interval" }}
|
||||||
|
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: 'node_exporter'
|
||||||
|
scrape_interval: {{ getv "/time/node_exporter_scrape_interval" }}
|
||||||
|
static_configs:
|
||||||
|
- targets: [ 'node-exporter:9100' ]
|
||||||
|
|
||||||
|
- job_name: 'opcua_exporter'
|
||||||
|
scrape_interval: {{ getv "/time/opcua_scrape_interval" }}
|
||||||
|
static_configs:
|
||||||
|
- targets: [ 'opcua-exporter:8191' ]
|
||||||
20
docker/prometheus/supervisord/supervisord.conf
Normal file
20
docker/prometheus/supervisord/supervisord.conf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[supervisord]
|
||||||
|
nodaemon=true ; 让 supervisor 运行在前台,保持容器不退出
|
||||||
|
logfile=/var/log/supervisor/supervisord.log
|
||||||
|
pidfile=/var/run/supervisord.pid
|
||||||
|
|
||||||
|
[program:confd]
|
||||||
|
command=/usr/local/bin/confd -config-file /etc/confd/confd.toml
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stderr_logfile=/var/log/confd.err.log
|
||||||
|
stdout_logfile=/var/log/confd.out.log
|
||||||
|
|
||||||
|
[program:prometheus]
|
||||||
|
command=/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stderr_logfile=/var/log/prometheus.err.log
|
||||||
|
stdout_logfile=/var/log/prometheus.out.log
|
||||||
|
|
||||||
|
|
||||||
@@ -23,19 +23,19 @@ class ManageTime extends SettingsPage
|
|||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->schema([
|
->schema([
|
||||||
TextInput::make('global_time')
|
TextInput::make('global_scrape_interval')
|
||||||
->label('默认拉取时间')
|
->label('默认拉取时间')
|
||||||
->required()
|
->required()
|
||||||
->suffix("s"),
|
->suffix("s"),
|
||||||
TextInput::make('node_exporter_time')
|
TextInput::make('node_exporter_scrape_interval')
|
||||||
->label('系统监控时间间隔')
|
->label('系统监控时间间隔')
|
||||||
->required()
|
->required()
|
||||||
->suffix("s"),
|
->suffix("s"),
|
||||||
TextInput::make('opcua_time')
|
TextInput::make('opcua_scrape_interval')
|
||||||
->label('配置读取时间')
|
->label('opcua_exporter抓取间隔')
|
||||||
->required()
|
->required()
|
||||||
->suffix("s"),
|
->suffix("s"),
|
||||||
TextInput::make('prometheus_time')
|
TextInput::make('storage_interval')
|
||||||
->label('数据存储时间')
|
->label('数据存储时间')
|
||||||
->required()
|
->required()
|
||||||
->suffix("h"),
|
->suffix("h"),
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ use Spatie\LaravelSettings\Settings;
|
|||||||
|
|
||||||
class TimeSettings extends Settings
|
class TimeSettings extends Settings
|
||||||
{
|
{
|
||||||
// 默认拉取时间
|
# 全局抓取间隔
|
||||||
public ?string $global_time;
|
public ?string $global_scrape_interval;
|
||||||
// 系统扫描时间
|
// node_exporter抓取间隔
|
||||||
public ?string $node_exporter_time;
|
public ?string $node_exporter_scrape_interval;
|
||||||
// 系统配置时间
|
// opcua_exporter抓取间隔
|
||||||
public ?string $opcua_time;
|
public ?string $opcua_scrape_interval;
|
||||||
// 数据存储时间
|
// 数据存储时间
|
||||||
public ?string $prometheus_time;
|
public ?string $storage_interval;
|
||||||
|
|
||||||
public static function group(): string
|
public static function group(): string
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ return new class extends SettingsMigration
|
|||||||
{
|
{
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->migrator->add('time.global_time', '');
|
$this->migrator->add('time.global_scrape_interval', '');
|
||||||
$this->migrator->add('time.node_exporter_time', '');
|
$this->migrator->add('time.node_exporter_scrape_interval', '');
|
||||||
$this->migrator->add('time.opcua_time', '');
|
$this->migrator->add('time.opcua_scrape_interval', '');
|
||||||
$this->migrator->add('time.prometheus_time', '');
|
$this->migrator->add('time.storage_interval', '');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user