[修改]修改了时间配置的变量对应,添加了supervisor启动配置,增加了Prometheus对应的confd模版
This commit is contained in:
@@ -2,6 +2,7 @@ FROM openeuler/openeuler:24.03
|
||||
|
||||
RUN dnf update -y && \
|
||||
dnf clean all && \
|
||||
dnf install -y supervisor &&\
|
||||
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 && \
|
||||
@@ -9,9 +10,13 @@ RUN curl -fsSL https://github.com/prometheus/prometheus/releases/download/v2.54.
|
||||
rm /usr/local/bin/prometheus-* -rf && \
|
||||
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/
|
||||
|
||||
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
|
||||
->schema([
|
||||
TextInput::make('global_time')
|
||||
TextInput::make('global_scrape_interval')
|
||||
->label('默认拉取时间')
|
||||
->required()
|
||||
->suffix("s"),
|
||||
TextInput::make('node_exporter_time')
|
||||
TextInput::make('node_exporter_scrape_interval')
|
||||
->label('系统监控时间间隔')
|
||||
->required()
|
||||
->suffix("s"),
|
||||
TextInput::make('opcua_time')
|
||||
->label('配置读取时间')
|
||||
TextInput::make('opcua_scrape_interval')
|
||||
->label('opcua_exporter抓取间隔')
|
||||
->required()
|
||||
->suffix("s"),
|
||||
TextInput::make('prometheus_time')
|
||||
TextInput::make('storage_interval')
|
||||
->label('数据存储时间')
|
||||
->required()
|
||||
->suffix("h"),
|
||||
|
||||
@@ -6,14 +6,14 @@ use Spatie\LaravelSettings\Settings;
|
||||
|
||||
class TimeSettings extends Settings
|
||||
{
|
||||
// 默认拉取时间
|
||||
public ?string $global_time;
|
||||
// 系统扫描时间
|
||||
public ?string $node_exporter_time;
|
||||
// 系统配置时间
|
||||
public ?string $opcua_time;
|
||||
# 全局抓取间隔
|
||||
public ?string $global_scrape_interval;
|
||||
// node_exporter抓取间隔
|
||||
public ?string $node_exporter_scrape_interval;
|
||||
// opcua_exporter抓取间隔
|
||||
public ?string $opcua_scrape_interval;
|
||||
// 数据存储时间
|
||||
public ?string $prometheus_time;
|
||||
public ?string $storage_interval;
|
||||
|
||||
public static function group(): string
|
||||
{
|
||||
|
||||
@@ -7,9 +7,9 @@ return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('time.global_time', '');
|
||||
$this->migrator->add('time.node_exporter_time', '');
|
||||
$this->migrator->add('time.opcua_time', '');
|
||||
$this->migrator->add('time.prometheus_time', '');
|
||||
$this->migrator->add('time.global_scrape_interval', '');
|
||||
$this->migrator->add('time.node_exporter_scrape_interval', '');
|
||||
$this->migrator->add('time.opcua_scrape_interval', '');
|
||||
$this->migrator->add('time.storage_interval', '');
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user