■ はじめに
説明
Hinemos(ヒネモス)について簡単に説明後、実際に手元の環境で構築してみようと思います。
本記事では構築してログインが出来る所まで行います。
少しずつ使ってみて私の理解が進んだら、続編も書きます。
説明に過不足ございましたらコメント等でご指摘下さい。
以下の【前提】にある vm 情報にそれぞれの作業対象も書いていますが、こちらでもまとめておきます。まとめると以下です。
項番1の作業対象:両方の vm
項番2と3の作業対象:1つ目の VM (hinemos-manager_node)
項番4と5の作業対象:2つ目の VM (hinemos-agent_node_01)
完成図だと以下の様になります。(図を書くのが苦手なのであまり上手くなくてすみません)
環境
- Windows 11 home
- VirtualBox 6.1
- Centos 7
- hinemos-7.0-manager-7.0.1-1.el7.x86_64
- hinemos-7.0-agent-7.0.1-2.el.noarch
前提
- Virtual Box のインストールが出来ている事
- CentOS の ISOイメージファイルのダウンロードと vm の作成が済んでいる事
- 1つ目の VM 情報
Hostname: hinemos-manager_node
用途: Hinemos manager と Hinemos web client をインストールする
os: CentOS 7
Memory: 1024MB
storage: 30GB
Ip address: 10.0.2.15(NAT)← ポートフォワード用
Ip address: 192.168.2.10(ブリッジアダプター)
- 2つ目の VM 情報
Hostname: hinemos-agent_node_01
用途: Hinemos agent と snmp をインストールする
os: CentOS 7
Memory: 1024MB
storage: 30GB
Ip address: 10.0.2.15(NAT)← ポートフォワード用
Ip address: 192.168.2.11(ブリッジアダプター)
■ Hinemos とは
Hinemos は、OSS の統合運用監視システムです。
Wikipedia だと以下のように記載されています。
Hinemos(ヒネモス)は、複数のコンピュータを単一のコンピュータのイメージで運用管理することを実現するオープンソースソフトウェア。
運用目的ごとにコンピュータをグループ登録し、グループに対して状態監視、ジョブ管理、性能管理、環境構築、収集蓄積を行う機能を備えている。
つまりは、サーバなどを監視してくれて異常があった場合に検知してお知らせをしてくれるというものです。
似た様なサービスだと、Zabbix や Hobbit などがあるかなと思います。
Zabbix や Hobbit は触った事がありましたが、Hinemos はなかったので色々触ってみようと思います。
ちなみに、Hinemos は NTT データが開発したらしいので日本の記事が多いです。(嬉しい人は結構嬉しいかもしれない)又、Java で作成されておりますので Java 系のパッケージもダウンロードする必要があります。(後ほど Hinemos をインストールする時にパッケージもインストールします)
公式サイトは以下になります。
■ Hinemos の導入構成
Hinemos Manager、Hinemos Agent、Hinemos client の 3つの構成は以下のようなイメージです。
各コンポーネントの説明も下記でします。
引用元:https://www.hinemos.info/env/composition
Hinemos Manager
- 公式の説明
Hinemosの運用管理機能を提供するサーバ。
各種設定内容を保持し、設定された監視機能やジョブ管理機能の実行を指示します。
また、監視結果やジョブ実行結果を内部DBに蓄積します。
【イメージ】社長のようなイメージです。Hinemos の中心的な役割を担っています。
【役割】Hinemos の運用管理機能を提供するサーバになります。全体を監視して問題を見つけたり、システムの動作を制御したり、ログや情報を収集して保存したりします。
【使う人】システム管理者が Hinemos Manager を使ってシステムを管理します。
Hinemos Agent
- 公式の説明
Hinemosの管理対象となるIT機器。
専用エージェントを導入しなくても、大半の監視機能が使用できます。
専用エージェントを導入することにより、すべての機能が使用できます。
【イメージ】スタッフ(従業員)の様なイメージです。
【役割】Hinemos の管理対象となるマシンです。サーバやデバイスから情報(データ)を集め、システムの状態などを Hinemos Manager に報告(送信)します。
【使う人】Hinemos Agent はサーバーやデバイスにインストールされているため直接操作はしません。管理対象のシステムで動作します。
Hinemos client
- 公式の説明
オペレータが操作する統合コンソール端末。
GUIアプリケーションのリッチクライアントと、ブラウザ経由でアクセスできるWebクライアントの2種類あります。
Hinemosの設定を行う他、監視状況の把握、ジョブの実行状況把握など、システムの稼働状況を表示します。
リッチクライアントでもWebクライアントでも、設定の追加や結果の確認など、同じように操作することができます。
【イメージ】会社の受付の様なイメージです。
【役割】Hinemos の操作ツールです。リッチクライアントや Web クライアントの機能を提供してシステムの監視、管理、制御が出来ます。グラフやレポートを表示したり、システムの状態を確認出来たりします。
【使う人】システム管理者やオペレーターがHinemosクライアントを使用してシステムを操作します。
簡単にではありますが、こんなイメージです。
私は普段 Zabbix をよく使っているので、運用監視システムの概念は理解出来てるつもりです。
後は実際に触っていれば理解出来ると思いますので、早速 Hinemos の環境を構築していきます。
■ Hinemos の Install 手順
1.事前作業
1.1 Hinemos ダウンロードページの GitHub を開き、「Hinemos Manager」と「Hinemos agent」をダウンロードする。今回ダウンロードする rpm は下記です。
- Hinemos Manage:hinemos-7.0-manager-7.0.1-1.el7.x86_64
- Hinemos agent:hinemos-7.0-agent-7.0.1-2.el.noarch
1.2 ローカル端末にダウンロードしたら、vm にコピーします。私は Rlogin を使っていますので SFTP を使いました。Tera Term 使っている方は SFTP でも SCP でもどちらでも大丈夫です。
- 1つ目の VM (hinemos-manager_node) には、「hinemos-7.0-manager-7.0.1-1.el7.x86_64.rpm」を upload します。
- 2つ目の VM (hinemos-agent_node_01) には、「hinemos-7.0-agent-7.0.1-2.el.noarch.rpm」を upload します。
1.3 upload が完了したら、ls で念のため確認します。| (パイプ) で繋いで grep で絞り込みます。
- 1つ目の VM (hinemos-manager_node)
[stack@hinemos-manager_node ~]$ ls -l | grep "hinemos"
-rw-rw-r-- 1 stack stack 162298960 Sep 9 07:24 hinemos-7.0-manager-7.0.1-1.el7.x86_64.rpm
[stack@hinemos-manager_node ~]$
- 2つ目の VM (hinemos-agent_node_01)
[stack@hinemos-agent_node_01 ~]$ ls -l | grep "hinemos"
-rw-rw-r-- 1 stack stack 23144243 Sep 9 09:27 hinemos-7.0-agent-7.0.1-2.el.noarch.rpm
[stack@hinemos-agent_node_01 ~]$
以上で「1.事前作業」は完了です。
2. Hinemos manager のインストール
2.1 SELinux を disable するため「SELINUX=enforcing」をコメントアウトか削除して「SELINUX=disabled」を追加します。(記事ではコメントアウトしています)
- 変更前
[stack@hinemos-manager-client_node ~]$ sudo vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
- 変更後
[stack@hinemos-manager-client_node ~]$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[stack@hinemos-manager-client_node ~]$
2.2 ファイアーウォールを停止する必要があるため、まずは現状の Status を確認します。
[stack@hinemos-manager_node ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 金 2023-09-15 15:31:09 JST; 11min ago
Docs: man:firewalld(1)
Main PID: 649 (firewalld)
CGroup: /system.slice/firewalld.service
└─649 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
[stack@hinemos-manager_node ~]$
2.3 項番「2.2」で active だった場合は、ここで停止します。
[stack@hinemos-manager_node ~]$ sudo systemctl stop firewalld
[stack@hinemos-manager_node ~]$
2.4 停止 (inactive) されたか確認します。
[stack@hinemos-manager_node ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 金 2023-09-15 15:43:11 JST; 11s ago
Docs: man:firewalld(1)
Process: 649 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 649 (code=exited, status=0/SUCCESS)
[stack@hinemos-manager_node ~]$
2.5 firewalld の自動起動設定を確認する。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep firewalld
firewalld.service enabled
[stack@hinemos-agent_node_01 ~]$
2.6 ここで自動起動設定を disable にします。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[stack@hinemos-agent_node_01 ~]$
2.7 disable になった事を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep firewalld
firewalld.service disabled
[stack@hinemos-agent_node_01 ~]$
2.8 変更を適用させる為に再起動を行います。
[stack@hinemos-manager-client_node ~]$ sudo reboot
Last login: Sat Sep 9 07:42:01 2023 from gateway
[stack@hinemos-manager-client_node ~]$
2.9 getenforce コマンドで SELinux が「disable」になったか動作モードを確認します。
[stack@hinemos-manager-client_node ~]$ getenforce
Disabled
[stack@hinemos-manager-client_node ~]$
2.1.0 (1つ目)必要なパッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y java-1.8.0-openjdk"
[sudo] password for stack:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
<snip>
Dependency Installed:
atk.x86_64 0:2.28.1-2.el7 avahi-libs.x86_64 0:0.6.31-20.el7 cairo.x86_64 0:1.15.12-4.el7
copy-jdk-configs.noarch 0:3.3-11.el7_9 cups-libs.x86_64 1:1.6.3-51.el7 dejavu-fonts-common.noarch 0:2.33-6.el7
dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontpackages-filesystem.noarch 0:1.44-8.el7
fribidi.x86_64 0:1.0.2-1.el7_7.1 gdk-pixbuf2.x86_64 0:2.36.12-3.el7 giflib.x86_64 0:4.1.6-9.el7
graphite2.x86_64 0:1.3.10-1.el7_3 gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 gtk2.x86_64 0:2.24.31-1.el7
harfbuzz.x86_64 0:1.7.5-2.el7 hicolor-icon-theme.noarch 0:0.12-7.el7 jasper-libs.x86_64 0:1.900.1-33.el7
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.382.b05-1.el7_9 javapackages-tools.noarch 0:3.4.1-11.el7 jbigkit-libs.x86_64 0:2.0-11.el7
libICE.x86_64 0:1.0.9-9.el7 libSM.x86_64 0:1.2.2-2.el7 libX11.x86_64 0:1.6.7-4.el7_9
libX11-common.noarch 0:1.6.7-4.el7_9 libXau.x86_64 0:1.0.8-2.1.el7 libXcomposite.x86_64 0:0.4.4-4.1.el7
libXcursor.x86_64 0:1.1.15-1.el7 libXdamage.x86_64 0:1.1.4-4.1.el7 libXext.x86_64 0:1.3.3-3.el7
libXfixes.x86_64 0:5.0.3-1.el7 libXft.x86_64 0:2.3.2-2.el7 libXi.x86_64 0:1.7.9-1.el7
libXinerama.x86_64 0:1.1.3-2.1.el7 libXrandr.x86_64 0:1.5.1-2.el7 libXrender.x86_64 0:0.9.10-1.el7
libXtst.x86_64 0:1.2.3-1.el7 libXxf86vm.x86_64 0:1.1.4-1.el7 libfontenc.x86_64 0:1.1.3-3.el7
libglvnd.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libglvnd-egl.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libglvnd-glx.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libjpeg-turbo.x86_64 0:1.2.90-8.el7 libthai.x86_64 0:0.1.14-9.el7 libtiff.x86_64 0:4.0.3-35.el7
libwayland-client.x86_64 0:1.15.0-1.el7 libwayland-server.x86_64 0:1.15.0-1.el7 libxcb.x86_64 0:1.13-1.el7
libxshmfence.x86_64 0:1.2-1.el7 libxslt.x86_64 0:1.1.28-6.el7 lksctp-tools.x86_64 0:1.0.17-2.el7
mesa-libEGL.x86_64 0:18.3.4-12.el7_9 mesa-libGL.x86_64 0:18.3.4-12.el7_9 mesa-libgbm.x86_64 0:18.3.4-12.el7_9
mesa-libglapi.x86_64 0:18.3.4-12.el7_9 pango.x86_64 0:1.42.4-4.el7_7 pcsc-lite-libs.x86_64 0:1.8.8-8.el7
pixman.x86_64 0:0.34.0-1.el7 python-javapackages.noarch 0:3.4.1-11.el7 python-lxml.x86_64 0:3.2.1-4.el7
ttmkfdir.x86_64 0:3.0.9-42.el7 tzdata-java.noarch 0:2023c-1.el7 xorg-x11-font-utils.x86_64 1:7.5-21.el7
xorg-x11-fonts-Type1.noarch 0:7.5-9.el7
Complete!
real 0m48.208s
user 0m5.910s
sys 0m25.911s
[stack@hinemos-manager-client_node ~]$
2.1.1 (2つ目)必要なパッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y vim-common"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:vim-filesystem-7.4.629-8.el7_9.x86_64 1/2
Installing : 2:vim-common-7.4.629-8.el7_9.x86_64 2/2
Verifying : 2:vim-common-7.4.629-8.el7_9.x86_64 1/2
Verifying : 2:vim-filesystem-7.4.629-8.el7_9.x86_64 2/2
Installed:
vim-common.x86_64 2:7.4.629-8.el7_9
Dependency Installed:
vim-filesystem.x86_64 2:7.4.629-8.el7_9
Complete!
real 0m6.572s
user 0m2.206s
sys 0m3.154s
[stack@hinemos-manager-client_node ~]$
2.1.2 (1つ目)推奨パッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y java-1.8.0-openjdk-devel"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Install 1 Package
Total download size: 9.8 M
Installed size: 40 M
Downloading packages:
java-1.8.0-openjdk-devel-1.8.0.382.b05-1.el7_9.x86_64.rpm | 9.8 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:java-1.8.0-openjdk-devel-1.8.0.382.b05-1.el7_9.x86_64 1/1
Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.382.b05-1.el7_9.x86_64 1/1
Installed:
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.382.b05-1.el7_9
Complete!
real 0m9.387s
user 0m2.900s
sys 0m3.916s
[stack@hinemos-manager-client_node ~]$
2.1.3 (2つ目)推奨パッケージをインストールします。
[stack@hinemos-manager-client_nodet ~]$ time sh -c "sudo yum install -y net-snmp-utils"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:net-snmp-libs-5.7.2-49.el7_9.2.x86_64 1/2
Installing : 1:net-snmp-utils-5.7.2-49.el7_9.2.x86_64 2/2
Verifying : 1:net-snmp-libs-5.7.2-49.el7_9.2.x86_64 1/2
Verifying : 1:net-snmp-utils-5.7.2-49.el7_9.2.x86_64 2/2
Installed:
net-snmp-utils.x86_64 1:5.7.2-49.el7_9.2
Dependency Installed:
net-snmp-libs.x86_64 1:5.7.2-49.el7_9.2
Complete!
real 0m3.983s
user 0m1.360s
sys 0m1.945s
[stack@hinemos-manager-client_node ~]$
2.1.4 (3つ目)推奨パッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y sysstat"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64 1/2
Installing : sysstat-10.1.5-20.el7_9.x86_64 2/2
Verifying : sysstat-10.1.5-20.el7_9.x86_64 1/2
Verifying : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64 2/2
Installed:
sysstat.x86_64 0:10.1.5-20.el7_9
Dependency Installed:
lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7
Complete!
real 0m3.575s
user 0m1.170s
sys 0m1.726s
[stack@hinemos-manager-client_node ~]$
2.1.5 (4つ目)推奨パッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y tcpdump"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 14:libpcap-1.5.3-13.el7_9.x86_64 1/2
Installing : 14:tcpdump-4.9.2-4.el7_7.1.x86_64 2/2
Verifying : 14:libpcap-1.5.3-13.el7_9.x86_64 1/2
Verifying : 14:tcpdump-4.9.2-4.el7_7.1.x86_64 2/2
Installed:
tcpdump.x86_64 14:4.9.2-4.el7_7.1
Dependency Installed:
libpcap.x86_64 14:1.5.3-13.el7_9
Complete!
real 0m3.415s
user 0m1.075s
sys 0m1.747s
[stack@hinemos-manager-client_node ~]$
2.1.6 (5つ目)推奨パッケージをインストールします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo yum install -y lsof"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Total download size: 331 k
Installed size: 927 k
Downloading packages:
lsof-4.87-6.el7.x86_64.rpm | 331 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : lsof-4.87-6.el7.x86_64 1/1
Verifying : lsof-4.87-6.el7.x86_64 1/1
Installed:
lsof.x86_64 0:4.87-6.el7
Complete!
real 0m2.581s
user 0m0.956s
sys 0m1.160s
[stack@hinemos-manager-client_node ~]$
2.1.7 Hinemos manager のインストールをします。
[stack@hinemos-manager-client_node ~]$ time sh -c "sudo rpm -ivh hinemos-7.0-manager-7.0.1-1.el7.x86_64.rpm"
Preparing... ################################# [100%]
Updating / installing...
1:hinemos-7.0-manager-0:7.0.1-1.el7################################# [100%]
Created symlink from /etc/systemd/system/multi-user.target.wants/hinemos_manager.service to /usr/lib/systemd/system/hinemos_manager.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/hinemos_pg.service to /usr/lib/systemd/system/hinemos_pg.service.
real 0m42.620s
user 0m4.674s
sys 0m7.374s
[stack@hinemos-manager-client_node ~]$
2.1.8 「Hinemos_manager」と「Hinemos_pg」を起動します。
- Hinemos_manager の起動
[stack@hinemos-manager-client_node ~]$ sudo systemctl start hinemos_manager
[stack@hinemos-manager-client_node ~]$
- Hinemos_pg の起動
[stack@hinemos-manager-client_node ~]$ sudo systemctl start hinemos_pg
[stack@hinemos-manager-client_node ~]$
2.1.9 項番2.1.8 で起動させた「Hinemos_manager」と「Hinemos_pg」の Status が active になっているか確認します。
[stack@hinemos-manager-client_node ~]$ systemctl status hinemos_manager; systemctl status hinemos_pg
● hinemos_manager.service - Hinemos Manager
Loaded: loaded (/usr/lib/systemd/system/hinemos_manager.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-09-10 05:06:17 JST; 5h 18min ago
Main PID: 2002 (java)
CGroup: /system.slice/hinemos_manager.service
└─2002 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -Djdk.xml.entityExpansionLimit=0 -javaagent:/opt/hinemos/lib/eclipselink-3.0.2.jar -Dsun.net.inetaddr.ttl...
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.enp0s8.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.lo.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.all.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.default.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.enp0s3.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.enp0s8.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: sysctl: reading key "net.ipv6.conf.lo.stable_secret"
Sep 10 05:06:16 hinemos-manager-client_node jvm_start.sh[1935]: waiting for Java Virtual Machine startup...
Sep 10 05:06:17 hinemos-manager-client_node jvm_start.sh[1935]: Java Virtual Machine started (with -W option)
Sep 10 05:06:17 hinemos-manager-client_node systemd[1]: Started Hinemos Manager.
● hinemos_pg.service - Hinemos PostgreSQL
Loaded: loaded (/usr/lib/systemd/system/hinemos_pg.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-09-10 05:06:16 JST; 5h 18min ago
Main PID: 1926 (postgres)
CGroup: /system.slice/hinemos_pg.service
├─1926 /opt/hinemos/postgresql/bin/postgres -D /opt/hinemos/var/data
├─1927 postgres: logger
├─1929 postgres: checkpointer
├─1930 postgres: background writer
├─1931 postgres: walwriter
├─1932 postgres: autovacuum launcher
├─1933 postgres: stats collector
├─1934 postgres: logical replication launcher
├─2093 postgres: hinemos hinemos 127.0.0.1(46582) idle
├─2095 postgres: hinemos hinemos 127.0.0.1(46584) idle
├─2097 postgres: hinemos hinemos 127.0.0.1(46586) idle
├─2099 postgres: hinemos hinemos 127.0.0.1(46588) idle
├─2101 postgres: hinemos hinemos 127.0.0.1(46590) idle
├─2103 postgres: hinemos hinemos 127.0.0.1(46592) idle
├─2105 postgres: hinemos hinemos 127.0.0.1(46594) idle
├─2107 postgres: hinemos hinemos 127.0.0.1(46596) idle
├─2113 postgres: hinemos hinemos 127.0.0.1(46602) idle
└─2115 postgres: hinemos hinemos 127.0.0.1(46604) idle
Sep 10 05:06:16 hinemos-manager-client_node systemd[1]: Starting Hinemos PostgreSQL...
Sep 10 05:06:16 hinemos-manager-client_node systemd[1]: Started Hinemos PostgreSQL.
[stack@hinemos-manager-client_node ~]$
2.2.0 自動起動の設定が有効 (enabled) になっているか確認します。(デフォルトで enabled にはなっているみたいですが、一応の確認です)
[stack@hinemos-manager-client_node ~]$ systemctl list-unit-files | grep hinemos
hinemos_manager.service enabled
hinemos_pg.service enabled
[stack@hinemos-manager-client_node ~]$
以上で、Hinemos manage のインストールは完了です。
3. Hinemos Web client のインストール
3.1 必要なパッケージをインストールします。
[stack@hinemos-manager_node ~]$ time sh -c "sudo yum install -y unzip"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
<snip>
Total download size: 172 k
Installed size: 369 k
Downloading packages:
unzip-6.0-24.el7_9.x86_64.rpm | 172 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : unzip-6.0-24.el7_9.x86_64 1/1
Verifying : unzip-6.0-24.el7_9.x86_64 1/1
Installed:
unzip.x86_64 0:6.0-24.el7_9
Complete!
real 0m14.006s
user 0m0.313s
sys 0m6.388s
[stack@hinemos-manager_node ~]$
3.2 Hinemos Web client のインストールをします。
[stack@hinemos-manager_node ~]$ time sh -c "sudo rpm -ivh https://github.com/hinemos/hinemos/releases/download/v7.0.1/hinemos-7.0-web-7.0.1-1.el7.x86_64.rpm"
Retrieving https://github.com/hinemos/hinemos/releases/download/v7.0.1/hinemos-7.0-web-7.0.1-1.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:hinemos-7.0-web-0:7.0.1-1.el7 ################################# [100%]
Created symlink from /etc/systemd/system/multi-user.target.wants/hinemos_web.service to /usr/lib/systemd/system/hinemos_web.service.
real 0m21.588s
user 0m0.905s
sys 0m15.545s
[stack@hinemos-manager_node ~]$
3.3 Hinemos Web client を起動します。
[stack@hinemos-manager_node ~]$ sudo systemctl start hinemos_web
[stack@hinemos-manager_node ~]$
3.4 項番3.3 で起動させた「Hinemos Web client」の Status が active になっているか確認します。
[stack@hinemos-manager_node ~]$ systemctl status hinemos_web
● hinemos_web.service - Hinemos Web
Loaded: loaded (/usr/lib/systemd/system/hinemos_web.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-09-10 05:41:05 JST; 6s ago
Process: 4025 ExecStart=/opt/hinemos_web/bin/tomcat_start.sh -Wq (code=exited, status=0/SUCCESS)
Main PID: 4078 (java)
CGroup: /system.slice/hinemos_web.service
└─4078 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -Djava.util.logging.config.file=/opt/hinemos_web/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a...
Sep 10 05:41:05 hinemos-manager-client_node systemd[1]: Starting Hinemos Web...
Sep 10 05:41:05 hinemos-manager-client_node tomcat_start.sh[4025]: clearing temporary tomcat data
Sep 10 05:41:05 hinemos-manager-client_node tomcat_start.sh[4025]: successful in clearing temporary tomcat data.
Sep 10 05:41:05 hinemos-manager-client_node tomcat_start.sh[4025]: waiting for WebClient startup...
Sep 10 05:41:05 hinemos-manager-client_node tomcat_start.sh[4025]: Tomcat started.
Sep 10 05:41:05 hinemos-manager-client_node tomcat_start.sh[4025]: WebClient started. (with -W option)
Sep 10 05:41:05 hinemos-manager-client_node systemd[1]: Started Hinemos Web.
[stack@hinemos-manager_node ~]$
以上で、Hinemos Web client のインストールは完了です。
4. Hinemos agent のインストール
4.1 SELinux を disable するため「SELINUX=enforcing」をコメントアウトか削除して「SELINUX=disabled」を追加します。(記事ではコメントアウトしています)
- 変更前
[stack@hinemos-agent_node_01 ~]$ sudo vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
- 変更後
[stack@hinemos-agent_node_01 ~]$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[stack@hinemos-agent_node_01 ~]$
4.2 ファイアーウォールを停止する必要があるため、まずは現状の Status を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 金 2023-09-15 17:30:54 JST; 1min 21s ago
Docs: man:firewalld(1)
Main PID: 644 (firewalld)
CGroup: /system.slice/firewalld.service
└─644 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
[stack@hinemos-agent_node_01 ~]$
4.3 項番「4.2」で active だった場合は、ここで停止します。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl stop firewalld
[stack@hinemos-agent_node_01 ~]$
4.4 停止 (inactive) されたか確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 金 2023-09-15 17:32:26 JST; 9s ago
Docs: man:firewalld(1)
Process: 644 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 644 (code=exited, status=0/SUCCESS)
[stack@hinemos-agent_node_01 ~]$
4.5 firewalld の自動起動設定を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep firewalld
firewalld.service enabled
[stack@hinemos-agent_node_01 ~]$
4.6 自動起動設定を disable にします。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[stack@hinemos-agent_node_01 ~]$
4.7 disable になった事を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep firewalld
firewalld.service disabled
[stack@hinemos-agent_node_01 ~]$
4.8 変更を適用させる為に再起動を行います。
[stack@hinemos-agent_node_01 ~]$ sudo reboot
Last login: Sat Sep 9 07:42:01 2023 from gateway
[stack@hinemos-agent_node_01 ~]$
4.9 getenforce コマンドで SELinux が「disable」になったか動作モードを確認します。
[stack@hinemos-agent_node_01 ~]$ getenforce
Disabled
[stack@hinemos-agent_node_01 ~]$
4.1.0 必要なパッケージをインストールします。
[stack@hinemos-agent_node_01 ~]$ time sh -c "sudo yum install -y java-1.8.0-openjdk"
[sudo] password for stack:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
<snip>
Dependency Installed:
atk.x86_64 0:2.28.1-2.el7 avahi-libs.x86_64 0:0.6.31-20.el7 cairo.x86_64 0:1.15.12-4.el7
copy-jdk-configs.noarch 0:3.3-11.el7_9 cups-libs.x86_64 1:1.6.3-51.el7 dejavu-fonts-common.noarch 0:2.33-6.el7
dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontpackages-filesystem.noarch 0:1.44-8.el7
fribidi.x86_64 0:1.0.2-1.el7_7.1 gdk-pixbuf2.x86_64 0:2.36.12-3.el7 giflib.x86_64 0:4.1.6-9.el7
graphite2.x86_64 0:1.3.10-1.el7_3 gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 gtk2.x86_64 0:2.24.31-1.el7
harfbuzz.x86_64 0:1.7.5-2.el7 hicolor-icon-theme.noarch 0:0.12-7.el7 jasper-libs.x86_64 0:1.900.1-33.el7
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.382.b05-1.el7_9 javapackages-tools.noarch 0:3.4.1-11.el7 jbigkit-libs.x86_64 0:2.0-11.el7
libICE.x86_64 0:1.0.9-9.el7 libSM.x86_64 0:1.2.2-2.el7 libX11.x86_64 0:1.6.7-4.el7_9
libX11-common.noarch 0:1.6.7-4.el7_9 libXau.x86_64 0:1.0.8-2.1.el7 libXcomposite.x86_64 0:0.4.4-4.1.el7
libXcursor.x86_64 0:1.1.15-1.el7 libXdamage.x86_64 0:1.1.4-4.1.el7 libXext.x86_64 0:1.3.3-3.el7
libXfixes.x86_64 0:5.0.3-1.el7 libXft.x86_64 0:2.3.2-2.el7 libXi.x86_64 0:1.7.9-1.el7
libXinerama.x86_64 0:1.1.3-2.1.el7 libXrandr.x86_64 0:1.5.1-2.el7 libXrender.x86_64 0:0.9.10-1.el7
libXtst.x86_64 0:1.2.3-1.el7 libXxf86vm.x86_64 0:1.1.4-1.el7 libfontenc.x86_64 0:1.1.3-3.el7
libglvnd.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libglvnd-egl.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libglvnd-glx.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libjpeg-turbo.x86_64 0:1.2.90-8.el7 libthai.x86_64 0:0.1.14-9.el7 libtiff.x86_64 0:4.0.3-35.el7
libwayland-client.x86_64 0:1.15.0-1.el7 libwayland-server.x86_64 0:1.15.0-1.el7 libxcb.x86_64 0:1.13-1.el7
libxshmfence.x86_64 0:1.2-1.el7 libxslt.x86_64 0:1.1.28-6.el7 lksctp-tools.x86_64 0:1.0.17-2.el7
mesa-libEGL.x86_64 0:18.3.4-12.el7_9 mesa-libGL.x86_64 0:18.3.4-12.el7_9 mesa-libgbm.x86_64 0:18.3.4-12.el7_9
mesa-libglapi.x86_64 0:18.3.4-12.el7_9 pango.x86_64 0:1.42.4-4.el7_7 pcsc-lite-libs.x86_64 0:1.8.8-8.el7
pixman.x86_64 0:0.34.0-1.el7 python-javapackages.noarch 0:3.4.1-11.el7 python-lxml.x86_64 0:3.2.1-4.el7
ttmkfdir.x86_64 0:3.0.9-42.el7 tzdata-java.noarch 0:2023c-1.el7 xorg-x11-font-utils.x86_64 1:7.5-21.el7
xorg-x11-fonts-Type1.noarch 0:7.5-9.el7
Complete!
real 0m52.016s
user 0m4.006s
sys 0m28.938s
[stack@hinemos-agent_node_01 ~]$
4.1.1 Hinemos agent のインストールをします。
[stack@hinemos-agent_node_01 ~]$ time sh -c "sudo HINEMOS_MANAGER=192.168.11.31 rpm -ivh hinemos-7.0-agent-7.0.1-2.el.noarch.rpm"
Preparing... ################################# [100%]
Updating / installing...
1:hinemos-7.0-agent-0:7.0.1-2.el ################################# [100%]
Redirecting to /bin/systemctl status rsyslog.service
Redirecting to /bin/systemctl restart rsyslog.service
real 0m1.582s
user 0m0.326s
sys 0m0.558s
[stack@hinemos-agent_node_01 ~]$
4.1.2 Hinemos agent を起動します。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl start hinemos_agent
[stack@hinemos-agent_node_01 ~]$
4.1.3 項番4.1.2 で起動させた Hinemos agent の Status が active になっているか確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl status hinemos_agent
● hinemos_agent.service - SYSV: Hinemos Agent
Loaded: loaded (/etc/rc.d/init.d/hinemos_agent; bad; vendor preset: disabled)
Active: active (running) since Sun 2023-09-10 05:16:30 JST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 1543 ExecStart=/etc/rc.d/init.d/hinemos_agent start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/hinemos_agent.service
└─1599 /usr/bin/java -Dhostname==hinemos-agent_node_01 -server -Xms32m -Xmx32m -Xss256k -Dhinemos.agent.conf.dir=/opt/hinemos_agent/conf -Dhinemos.agent.log.dir=/opt/hinemo...
[stack@hinemos-agent_node_01 ~]$
以上で、Hinemos agent のインストールは完了です。
5. snmp のインストール
5.1 一時的に root になります。
[stack@hinemos-agent_node_01 ~]$ su -
パスワード:
最終ログイン: 2023/09/09 (土) 14:49:08 JST日時 pts/0
[root@hinemos-agent_node_01 ~]#
5.2 プロンプトに root が表示された事を確認したら snmp をインストールする為に「net-snmp」と「net-snmp-utils」のパッケージをインストールします。
[root@hinemos-agent_node_01 ~]# time sh -c "yum install -y net-snmp net-snmp-utils"
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
<snip>
完了しました!
real 0m14.381s
user 0m1.407s
sys 0m8.553s
[root@hinemos-agent_node_01 ~]#
5.3 exit で一般ユーザーへ戻ります。
[root@hinemos-agent_node_01 ~]# exit
ログアウト
[stack@hinemos-agent_node_01 ~]$
5.4 snmpd.conf の最終行に「view systemview included .1.3.6.1」を追加します。vi エディタを開いたら Shift + G を押下し追加して下さい。その後 :wq で保存します。
[stack@hinemos-agent_node_01 ~]$ sudo vi /etc/snmp/snmpd.conf
5.5 追加出来た事を確認しますので、tail コマンドで最終行のみ表示します。「view systemview included .1.3.6.1」と表示されていれば OK です。
[stack@hinemos-agent_node_01 ~]$ sudo tail -1 /etc/snmp/snmpd.conf
view systemview included .1.3.6.1
[stack@hinemos-agent_node_01 ~]$
5.6 snmpd の Status を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[stack@hinemos-agent_node_01 ~]$
5.7 ここで起動させます。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl start snmpd
[stack@hinemos-agent_node_01 ~]$
5.8 起動後の状態を確認します。active になっていれば OK です。
[stack@hinemos-agent_node_01 ~]$ systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: active (running) since 土 2023-09-16 07:52:03 JST; 2s ago
Main PID: 1594 (snmpd)
CGroup: /system.slice/snmpd.service
└─1594 /usr/sbin/snmpd -LS0-6d -f
[stack@hinemos-agent_node_01 ~]$
5.9 snmpd の自動起動設定を確認します。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep snmpd
snmpd.service disabled
[stack@hinemos-agent_node_01 ~]$
5.1.0 自動起動設定を enable にします。
[stack@hinemos-agent_node_01 ~]$ sudo systemctl enable snmpd
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.
[stack@hinemos-agent_node_01 ~]$
5.1.1 enable になった事を確認する。
[stack@hinemos-agent_node_01 ~]$ systemctl list-unit-files | grep snmpd
snmpd.service enabled
[stack@hinemos-agent_node_01 ~]$
以上で、hinemos-agent_node_01 への snmp のインストールは完了です。
6. ログイン確認
6.1 任意のブラウザを立ち上げて http://192.168.2.10/ のように Hinemos Web client をインストールした vm の IP を入力し Enter を押して下さい。(https ではないのでご注意下さい)
6.2 ログイン画面が表示されますので、ユーザーID やパスワードを入力し「ログイン」を押下。ログイン出来たら成功です。
- ユーザID:hinemos
- パスワード:hinemos
- マネージャ名:Mannager1 (任意の名前で大丈夫です)
以上。
■ まとめ
- Hinemos 構築後の構成図
これで、Hinemos のインストールは完了です。
後は実際に触りながら覚えていこうと思います。
続編も書きましたら是非読んでいただけると幸いです。
ここまで見ていただき、ありがとうございました!
■ 参考