Difference between revisions of "Blackbox exporter icmp"
Jump to navigation
Jump to search
(Created page with "Dockerfile ``` # Use a lightweight base image FROM alpine:latest # Install necessary packages RUN apk add --no-cache \ libcap \ curl # Download and install Blackbox...") |
(No difference)
|
Latest revision as of 18:31, 13 June 2024
Dockerfile
# Use a lightweight base image
FROM alpine:latest
# Install necessary packages
RUN apk add --no-cache \
libcap \
curl
# Download and install Blackbox Exporter
ENV BLACKBOX_EXPORTER_VERSION 0.23.0
RUN wget https://github.com/prometheus/blackbox_exporter/releases/download/v${BLACKBOX_EXPORTER_VERSION}/blackbox_exporter-${BLACKBOX_EXPORTER_VERSION}.linux-amd64.tar.gz && \
tar -xzf blackbox_exporter-${BLACKBOX_EXPORTER_VERSION}.linux-amd64.tar.gz && \
mv blackbox_exporter-${BLACKBOX_EXPORTER_VERSION}.linux-amd64/blackbox_exporter /usr/local/bin/blackbox_exporter && \
rm -rf blackbox_exporter-${BLACKBOX_EXPORTER_VERSION}.linux-amd64*
# Set the capability to allow ICMP
RUN setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter
# Create a user with UID 1000
RUN adduser -D -u 1000 nonrootuser
# Create a configuration file for Blackbox Exporter
COPY blackbox.yml /etc/blackbox_exporter/config.yml
# Set the permissions
RUN chown nonrootuser:nonrootuser /etc/blackbox_exporter/config.yml
# Expose the port
EXPOSE 9115
# Run the exporter as the non-root user
USER nonrootuser
# Command to run the Blackbox Exporter
CMD ["blackbox_exporter", "--config.file=/etc/blackbox_exporter/config.yml"]
More steps
Step 2: Create a Configuration File
Create a blackbox.yml configuration file in the same directory as your Dockerfile.
yaml
Copy code
modules:
icmp:
prober: icmp
timeout: 5s
Step 3: Build the Docker Image
Build the Docker image using the Dockerfile.
sh
Copy code
docker build -t blackbox-exporter-icmp .
Step 4: Run the Docker Container
Run the container with the appropriate user and expose the port.
sh
Copy code
docker run -d -p 9115:9115 --name blackbox-exporter-icmp blackbox-exporter-icmp
Step 5: Verify the Setup
Check the Blackbox Exporter:
Verify that the Blackbox Exporter is running and capable of performing ICMP probes by visiting the probe endpoint in your browser or using curl.
sh
Copy code
curl "http://localhost:9115/probe?target=example.com&module=icmp"
Configure Prometheus:
Add a scrape configuration in your prometheus.yml to scrape the Blackbox Exporter.
yaml
Copy code
scrape_configs:
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets:
- example.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter-icmp:9115
Reload Prometheus: