Docker의 MySQL 운영 정보를 munin에서 봅니다.

적당히 munin의 플러그인을 넣으면 localhost 메모.

참고 URL


  • Server Monitoring with Munin and Monit on Ubuntu 14.04 LTS
  • Munin 감시 항목 설정하기 - yk5656 diary
  • Rookie Tech Info: Mysql의 접속에 대해【localhost】와【127.0.0.1】의 차이

  • 1. 플러그인, MySQL Client 설치


    ubuntu@mysql-docker:$ sudo apt-get install mysql-client munin-plugins-extra
    ubuntu@mysql-docker:$ cd /etc/munin/plugins
    ubuntu@mysql-docker:$ sudo ln -s /usr/share/munin/plugins/mysql_ mysql_
    ubuntu@mysql-docker:$ sudo ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
    ubuntu@mysql-docker:$ sudo ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
    ubuntu@mysql-docker:$ sudo ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
    ubuntu@mysql-docker:$ sudo ln -s /usr/share/munin/plugins/mysql_threads mysql_threads
    

    2. 연결 사용자 만들기


    docker run -d mysql 그렇게 하면, mysql -h localhost 를 사용한 접속이 되어 버리므로 제대로 .sock 를 지정하는 것.
    ubuntu@mysql-docker:$ mysql -u root -p -h 127.0.0.1 
    

    접속에 가는 것은 Docker 컨테이너의 외부로부터 IP 경유가 되기 때문에, 우선 접속원은 127.0.0.1 좋다.
    mysql> CREATE DATABASE munin;
    mysql> GRANT SELECT ON munin.* TO munin@'%' IDENTIFIED BY '<munin_no_password>';
    mysql> GRANT SELECT ON munin.* TO munin@'localhost' IDENTIFIED BY '<munin_no_password>';
    mysql> FLUSH PRIVILEGES;
    

    3. munin-node 설정



    구성 파일을 편집하고 사용자 및 연결 대상을 씁니다.
    ubuntu@mysql-docker:$ sudo vim /etc/munin/plugin-conf.d/munin-node
    

    편집하는 것은 '%' 섹션만, 기존은 코멘트 아웃 해 버려도 좋은 것 같다.

    munin-node.conf
    ...(中略)...
    [mysql*]
    user root
    env.mysqlopts -u munin --password=<munin_no_password> -h 127.0.0.1
    # env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
    # env.mysqluser debian-sys-maint
    # env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf
    ...(中略)...
    

    4. 확인



    각각 값이 표시되면 성공.
    ubuntu@mysql-docker:$ sudo /usr/sbin/munin-run mysql_queries
    ubuntu@mysql-docker:$ sudo /usr/sbin/munin-run mysql_slowqueries
    ubuntu@mysql-docker:$ sudo /usr/sbin/munin-run mysql_threads
    ubuntu@mysql-docker:$ sudo /usr/sbin/munin-run mysql_bytes
    

    5. 반영


    'localhost' 를 재기동시켜야 한다.
    ubuntu@mysql-docker:$ sudo /etc/init.d/munin-node stop
    ubuntu@mysql-docker:$ sudo /etc/init.d/munin-node start
    

    6. 결과 확인



    이것으로 [mysql*] 의 화면에 여러가지로 되어 있는 「할 것」.



    반성



    응? ? 지금 생각하면, 어차피 데이터의 디렉토리를 마운트해 실행하고 있으니까, 그 munin-node 지정해 주면 빨리···. 그것은 또 이번 해보자.

    좋은 웹페이지 즐겨찾기