Zabbix on a docker container (Inside CoreOS) .. setup log

  • CoreOS:607.0.0 (/etc/os-release)
  • Docker:version 1.5.0, build a8a31ef-dirty
  • Image:phusion/baseimage   0.9.16
  • Zabbix 2.4
core@coreos0 ~ $ docker run -itd --name zabbix -p 8081:80 phusion/baseimage:latest /bin/bash
58e286c670b84e57ecb6eca767d061f7b738940359c03cbcfe9b11f032dee4ad

core@coreos0 ~ $ docker exec -it zabbix bash

root@58e286c670b8:/# dpkg-reconfigure tzdata

Current default time zone: 'Asia/Tokyo'
Local time is now:      Sun Apr  5 11:45:31 JST 2015.
Universal Time is now:  Sun Apr  5 02:45:31 UTC 2015.

# apt-get update
# apt-get install wget
# wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb
# dpkg -i zabbix-release_2.4-1+trusty_all.deb
Selecting previously unselected package zabbix-release.
(Reading database ... 16802 files and directories currently installed.)
Preparing to unpack zabbix-release_2.4-1+trusty_all.deb ...
Unpacking zabbix-release (2.4-1+trusty) ...
Setting up zabbix-release (2.4-1+trusty) ...

# apt-get update

# apt-get install zabbix-server-mysql zabbix-frontend-php

* Input MySQL Admin root/root
* Input for zabbix-server-mysql root/root
* 途中アボートするので、MySQLを手動で立ち上げ(service mysql start)て、retry

root@58e286c670b8:/etc/apache2/conf-available# cd
root@58e286c670b8:~# ls -ltr /etc/apache2/conf-available/
total 24
-rw-r--r-- 1 root root 2190 Jan 3 2014 security.conf
-rw-r--r-- 1 root root 189 Jan 3 2014 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 3224 Jan 3 2014 localized-error-pages.conf
-rw-r--r-- 1 root root 315 Jan 3 2014 charset.conf
-rw-r--r-- 1 root root 455 Jan 7 2014 serve-cgi-bin.conf
lrwxrwxrwx 1 root root 23 Apr 5 02:15 zabbix.conf -> /etc/zabbix/apache.conf

-rw-r--r-- 1 root root 2190 Jan 3 2014 security.conf
-rw-r--r-- 1 root root 189 Jan 3 2014 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 3224 Jan 3 2014 localized-error-pages.conf
-rw-r--r-- 1 root root 315 Jan 3 2014 charset.conf
-rw-r--r-- 1 root root 455 Jan 7 2014 serve-cgi-bin.conf
lrwxrwxrwx 1 root root 23 Apr 5 02:15 zabbix.conf -> /etc/zabbix/apache.conf
root@58e286c670b8:/etc/apache2/conf-available# more zabbix.conf
# Define /zabbix alias, this is the default
<IfModule mod_alias.c>
Alias /zabbix /usr/share/zabbix
</IfModule>

<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Tokyo
</Directory>

<Directory "/usr/share/zabbix/conf">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>

<Directory "/usr/share/zabbix/api">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>

<Directory "/usr/share/zabbix/include">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>

<Directory "/usr/share/zabbix/include/classes">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>

service mysql start
service mysql status
service apache2 start
service apache2 status

root@58e286c670b8:~# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 02:17 ? 00:00:00 /bin/bash
root 19 0 0 02:18 ? 00:00:00 bash
root 93 0 0 02:19 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql 443 93 1 02:19 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --l
root 511 0 0 02:19 ? 00:00:00 [debian-start] <defunct>
root 649 0 1 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 653 649 0 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 654 649 0 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 655 649 0 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 656 649 0 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 657 649 0 02:19 ? 00:00:00 /usr/sbin/apache2 -k start
root 661 19 0 02:19 ? 00:00:00 ps -ef

http://coreos.tk.net:8081/
Access      http://coreos.tk.net:8081/zabbix

    • Pre-Requisites => all ok
    • DB connection => ok

Zabbix server name “empty”

  • Pre-Installation sumary
  • Install => OK => Finish

 

Login : Admin/zabbix

root@58e286c670b8:/# service zabbix-server start

ここまで、docker commit しておく

あとは、/etc/my_init.d 以下にスクリプト用意

 

::::::::::::::
01_mysqld
::::::::::::::
#!/bin/sh
exec /usr/bin/mysqld_safe > /dev/null 2>&1 &
::::::::::::::
02_apache2
::::::::::::::
#!/bin/sh
exec apache2ctl start
::::::::::::::
03_zabbix-server
::::::::::::::
#!/bin/sh
exec  /usr/sbin/zabbix_server

docker run 時に /sbin/my_init 指定してオシマイ。

UIを日本語にしたいなら、 apt-get install language-pack-ja しとく
ロケール変更は、右上のProfileから。

備忘録 20140131

 

acer の安いPCをほったらかにしにしてたので、情報を置いておく

Ubuntu 14.04 LTS ,

一応、X入れ、Xfce

 apt-get install wpasupplicant wiress-tools
 apt-get install wpasupplicant wireless-tools
 apt-get install firefox
 apt-get install xfce4

 

NTP設定

無線LAN設定(自分の)

Docker 用として使いたいので

apt-get install docker.io

 

以下、Docどおり

https://docs.docker.com/installation/ubuntulinux/

入れ終わって動くか確認

docker run -i -t ubuntu /bin/bash

 

デタッチ(Ctrl-p , Ctrl-q)して、削除までのコマンドリスト

docker ps
docker stop
docker ps -a 
docker images
docker images -t
docker rm <container id>
docker ps -a
docker rmi <image id>
docker images

 

 

VNC on Ubuntu 12.04

root@ubuntu:~# apt-get install vnc4server

root@ubuntu:~# su - takeshi
 takeshi@ubuntu:~$
 takeshi@ubuntu:~$ vncpasswd
 Password:
 Verify:

takeshi@ubuntu:~$ vncserver :1
 New 'ubuntu.tk.net:1 (takeshi)' desktop is ubuntu.tk.net:1
 Starting applications specified in /home/takeshi/.vnc/xstartup
 Log file is /home/takeshi/.vnc/ubuntu.tk.net:1.log

takeshi@ubuntu:~$ vncserver -kill :1
 Killing Xvnc4 process ID 14754

takeshi@ubuntu:~$ tail .vnc/xstartup
 # unset SESSION_MANAGER
 # exec /etc/X11/xinit/xinitrc
 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 vncconfig -iconic &
 x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 x-window-manager &
 exec gnome-session &

takeshi@ubuntu:~$ vncserver :1 -geometry 800x600 -depth 24

Debian デーモン管理

  • update-rc.dでデーモン自動起動の制御

/etc/rc2.d – rc5.d にS,Kスクリプトが置かれているのが前提

MySQLの自動起動の無効化

# update-rc.d -f mysql remove

MySQLの自動起動の有効化

# update-rc.d mysql defaults

RH系のntsysvのようなツール、sysv-rc-conf (apt-get で)

2013-02-10 19-37-51

 

 

 

 

 

 

 

 

OpenGrok on Ubuntu

2013/02/10

  • Java 1.6.0_38導入済み
  • Tomcat6 (apt-get)
  • Exuberant Ctags(apt-get)
  • JFex(apt-get)
  • ant(apt-get)

 

root@ubuntu:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
root@ubuntu:~#

* Java 1.6.0_38導入済み
* Tomcat6 (apt-get)
* Exuberant Ctags(apt-get)・・・5.9が入るようす

root@ubuntu:~# ctags --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Nov 9 2011, 17:42:21
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex

 

* JFex(apt-get)・・・1.4.3-2 # dpkg -l で確認
* ant(apt-get)・・・1.8.2-4build1 # dpkg -l

JFlex.jarをソースディレクトリにコピー

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# dpkg -L jflex|grep JFlex.jar
/usr/share/java/JFlex.jar
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# cp /usr/share/java/JFlex.jar ./lib/
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#

 

ソースをコンパイル

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# ant
-touch-manifest:
-exclude-client:
-pre-init:
(省略)
jar:
BUILD SUCCESSFUL
Total time: 14 seconds
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#

 

確認

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# ls dist/
lib opengrok.1 opengrok.jar source.war
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#

 

デプロイ

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# ./OpenGrok deploy
Loading the default instance configuration ...
Installing /root/OpenGrok/opengrok-0.11.1-src/dist/source.war to /var/lib/tomcat6/webapps ...
Start your application server (Tomcat), if it is not already
running, or wait until it loads the just installed web application.
OpenGrok should be available on <HOST>:<PORT>/source
where HOST and PORT are configured in Tomcat.

 

Tomcat6がインストされている以下にsource.warが入る

root@ubuntu:/var/lib/tomcat6/webapps# ls -l
合計 3908
drwxr-xr-x 3 root root 4096 1月 27 21:24 ROOT
drwxr-xr-x 7 tomcat6 tomcat6 4096 1月 27 21:50 source
-rw-r--r-- 1 root root 3990157 1月 27 21:42 source.war

 

localhost:8080/sourceにアクセス、OpenGrokのホームが出てくる

Congratulations, you should now be able to point your browser to http://<YOUR_WEBAPP_SERVER>:<WEBAPPSRV_PORT>/source to work with your fresh opengrok installation! :-)

 

ソースファイル準備

mkdir -p /var/opengrok/src

 

ソース今回はopengrokのものをコピー

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# cp -a * /var/opengrok/src/
root@ubuntu:~/OpenGrok/opengrok-0.11.1-src#

 

インデックス作成

# ./OpenGrok index /var/opengrok/src
Loading the default instance configuration ...
WARNING: OpenGrok generated data path /var/opengrok/data doesn't exist
Attempting to create generated data directory ...
WARNING: OpenGrok generated etc path /var/opengrok/etc doesn't exist
Attempting to create generated etc directory ...
Creating default /var/opengrok/logging.properties ...

 

/var/opengrok/data以下にできる
/var/opengrok/以下に必要なものが作られる、(WARNINGメッセージにもそれが出力される)

root@ubuntu:/var/opengrok# ls data/
historycache index spellIndex timestamp xref
root@ubuntu:/var/opengrok#

 

CDH4.1のソースを用意してIndex張ってみる

root@ubuntu:~/OpenGrok/opengrok-0.11.1-src# time ./OpenGrok index /var/opengrok/src/hadoop-2.0.0-cdh4.1.3
Loading the default instance configuration ...
22:33:04 WARNING: GitRepository not working (missing binaries?): /var/opengrok/src/hadoop-2.0.0-cdh4.1.3/src
22:33:04 WARNING: GitRepository not working (missing binaries?): /var/opengrok/src/hadoop-2.0.0-cdh4.1.3/src
22:33:04 WARNING: Skipping creation of historycache of GitRepository repository in /var/opengrok/src/hadoop-2.0.0-cdh4.1.3/src: Missing SCM dependencies?
22:33:06 WARNING: Skipping creation of historycache of GitRepository repository in /var/opengrok/src/hadoop-2.0.0-cdh4.1.3/src: Missing SCM dependencies?
real 1m55.679s
 user 3m0.855s
 sys 0m10.469s

プロジェクトでソースわけしてみる

ソースを /var/opengrok/src へ配置

# ls /var/opengrok/src
CDH4.1.3 opengrok-0.11.1
# cd ~/OpenGrok/opengrok-0.11.1-src
# ./OpenGrok index /var/opengrok/src
real 2m41.714s
user 2m47.210s
sys 0m7.536s

 

とすると、プロジェクトは /var/opengrok/src 以下のフォルダ名のリストで構成される
検索するときはそれを指定して実行すればよい

# ./OpenGrok deploy

 

warファイルが /var/lib/tomcat6/webapps に入る

http://localhost:8080/source でアクセス

 

でかいDisplayを買った

Windowsマシンは自動で調整できるが、USB起動で使ってるUbuntuでは以下のようにSubSectionを追加してやり、解像度を入れた

Section “Screen”
Identifier    “Default Screen”
Monitor      “Configured Monitor”
Device        “Configured Video Device”
SubSection “Display”
Virtual    1920 1080
EndSubSection
EndSection

Xを再起動後、「システム=>設定=>画面の解像度」において”複数の画面をミラーする”

のチェックを外して、外付けディスプレイの解像度を設定して完了。