Help us understand the problem. What is going on with this article?

MuninサーバをDocker(Ubuntu 16.04)で構築

Ubuntu 16.04のDockerイメージを使ってMuninをインストールした。

今回はDockerfileをもとに手元でビルドする。

リポジトリjekil/docker-munin-server: A docker Munin server, with cgi support and configurable via docker args

$ sudo mkdir /opt/munin
$ cd /opt/munin
$ git clone https://github.com/jekil/docker-munin-server
$ cd docker-munin-server
$ sudo docker build . -t munin-server
Sending build context to Docker daemon 160.3 kB
Step 1/19 : FROM ubuntu:16.04
…

ビルドに少し時間がかかる。ビルド終了後に確認する。

$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
munin-server latest a3b39615948b 2 minutes ago 286 MB

サーバー起動用のスクリプト start-munin.sh を作成する。

#!/bin/bash -xe

docker run -d -p 127.0.0.1:8800:80 \
           -e NODES="foo.server.local:192.168.1.1 bar.server.local:192.168.1.2" \
           -v $PWD/data/lib:/var/lib/munin \
           -v $PWD/data/log:/var/log/munin \
           -v $PWD/data/conf:/etc/munin \
           -v /etc/localtime:/etc/localtime:ro \
           --restart=always \
           munin-server

追記: 改良版の munin-service.sh (以下)は再起動や停止もできるのでこっちがおすすめ

#!/bin/bash

case $1 in

  "start"  )  docker run -d -p 127.0.0.1:8800:80 \
                -v $PWD/data/lib:/var/lib/munin \
                -v $PWD/data/log:/var/log/munin \
                -v $PWD/data/conf:/etc/munin \
                -v /etc/localtime:/etc/localtime:ro \
                --restart=always \
                munin-server ;;
  "stop"   )  docker ps | grep munin-server | awk '{print $1}' | xargs docker stop | xargs docker rm ;;
  *        )  echo "[usage] munin-service.sh [start|stop]" ;;

esac

ディレクトリをあらかじめ作成

mkdir -p data/lib data/log data/conf

data/confmunin.confを以下の内容で配置する。 graph_strategy cgiがなくてグラフが表示されずトラブルシュートした。

参考: nginx configuration — Munin 2.0.43-detached-2018-12-11-c16-g4537119 documentation

dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin
staticdir /etc/munin/static
graph_strategy cgi
cgiurl_graph /munin-cgi/munin-cgi-graph

起動すると templatestatic のディレクトリがないと怒られた。そのため、別コンテナでUbuntuからmuninをインストールしたファイルたちをコピーして data/conf の下に配置した。transfer.shにあげたので、落として展開してうまく使うと楽にできる。

wget https://transfer.sh/wE0hQ/a.tgz

補足: muninにはtemplateがあり、任意のテンプレートを挿入することでUIを変えられる。Twitter BootstrapベースのUIにしたければここから落として展開して data/conf へ配置する。

git clone https://github.com/jonnymccullagh/munstrap
cd munstrap
cp -r template/ ../data/conf/
cp -r static/ ../data/conf/

実行権限をつけてRoot権限で実行する。

sudo chmod +x start-munin.sh
sudo ./start-munin.sh

疎通確認のためにtelnetを入れておく。

sudo docker ps
(コンテナidを控える)
sudo docker exec -it (コンテナid) /bin/bash
apt update
apt install telnet

ServerからNodeへの疎通を確認する。

telnet 192.168.1.2 4949

list などを入力して帰ってくるか試してみる。

続編: Nodeのインストール

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした