diff --git a/prometheus-2.20.0.linux-amd64.tar.gz b/prometheus-2.20.0.linux-amd64.tar.gz new file mode 100644 index 0000000..e8a7034 Binary files /dev/null and b/prometheus-2.20.0.linux-amd64.tar.gz differ diff --git a/prometheus-2.20.0.linux-arm64.tar.gz b/prometheus-2.20.0.linux-arm64.tar.gz new file mode 100644 index 0000000..89a73f2 Binary files /dev/null and b/prometheus-2.20.0.linux-arm64.tar.gz differ diff --git a/prometheus.default b/prometheus.default new file mode 100644 index 0000000..f99b235 --- /dev/null +++ b/prometheus.default @@ -0,0 +1 @@ +PROMETHEUS_OPTS='--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data' diff --git a/prometheus.service b/prometheus.service new file mode 100644 index 0000000..87b1c03 --- /dev/null +++ b/prometheus.service @@ -0,0 +1,20 @@ +# -*- mode: conf -*- + +[Unit] +Description=The Prometheus 2 monitoring system and time series database. +Documentation=https://prometheus.io +After=network.target + +[Service] +EnvironmentFile=-/etc/default/prometheus +User=prometheus +ExecStart=/usr/bin/prometheus \ + --web.console.libraries=/usr/share/prometheus/console_libraries \ + --web.console.templates=/usr/share/prometheus/consoles \ + $PROMETHEUS_OPTS +ExecReload=/bin/kill -HUP $MAINPID +Restart=always +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target diff --git a/prometheus2.spec b/prometheus2.spec new file mode 100644 index 0000000..91d7a6f --- /dev/null +++ b/prometheus2.spec @@ -0,0 +1,80 @@ +%define debug_package %{nil} + +Name: prometheus2 +Version: 2.20.0 +Release: 1%{?dist} +Summary: The Prometheus 2.x monitoring system and time series database. +License: ASL 2.0 +URL: https://prometheus.io +Conflicts: prometheus + +%ifarch aarch64 +%global hostarch arm64 +%endif +%ifarch x86_64 +%global hostarch amd64 +%endif + +Source0: prometheus-%{version}.linux-%{hostarch}.tar.gz +Source1: prometheus.service +Source2: prometheus.default + +%{?systemd_requires} +Requires(pre): shadow-utils + +%description + +Prometheus is a systems and service monitoring system. It collects metrics from +configured targets at given intervals, evaluates rule expressions, displays the +results, and can trigger alerts if some condition is observed to be true. + +%prep +%setup -q -n prometheus-%{version}.linux-%{hostarch} + +%build +/bin/true + +%install +mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus +install -D -m 755 prometheus %{buildroot}%{_bindir}/prometheus +install -D -m 755 promtool %{buildroot}%{_bindir}/promtool +install -D -m 755 tsdb %{buildroot}%{_bindir}/tsdb +for dir in console_libraries consoles; do + for file in ${dir}/*; do + install -D -m 644 ${file} %{buildroot}%{_datarootdir}/prometheus/${file} + done +done +install -D -m 644 prometheus.yml %{buildroot}%{_sysconfdir}/prometheus/prometheus.yml +install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/prometheus.service +install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/default/prometheus + +%pre +getent group prometheus >/dev/null || groupadd -r prometheus +getent passwd prometheus >/dev/null || \ + useradd -r -g prometheus -d %{_sharedstatedir}/prometheus -s /sbin/nologin \ + -c "Prometheus services" prometheus +exit 0 + +%post +%systemd_post prometheus.service + +%preun +%systemd_preun prometheus.service + +%postun +%systemd_postun prometheus.service + +%files +%defattr(-,root,root,-) +%{_bindir}/prometheus +%{_bindir}/promtool +%{_bindir}/tsdb +%config(noreplace) %{_sysconfdir}/prometheus/prometheus.yml +%{_datarootdir}/prometheus +%{_unitdir}/prometheus.service +%config(noreplace) %{_sysconfdir}/default/prometheus +%dir %attr(755, prometheus, prometheus)%{_sharedstatedir}/prometheus + +%changelog +* Tue Aug 11 2020 houjian - 2.20.0-1 +- Init project prometheus