PrometheusでWindows機を監視する
概要
PrometheusでWindowsを監視する。
- Windowsの監視には、WMI Exporterを使う。
- WMI Exporterは、IISサイトやアプリケーション、ネットワークインタフェース、サービス、ローカルの温度などを監視できる(らしい)
- 手元のホストのWindows10環境に入れる。つまり、ゲストのPrometheus本体から、ホストのWindows 10 Homeを監視するということ。
環境
- 作業マシンはノートPC(Windows 10 Home)★今回の監視対象
- wmi_exporter 0.9.0
- Vagrant 2.2.5 + VirtualBox 5.2.8
- VM1:Prometheus本体、CentOS7.7、Private NW: 192.168.33.10
- prometheus 2.16.0
WMI Exporterのインストール
- WMI Exporterのサイトへアクセス github.com
- [releases]をクリックし、そこでインストーラを取得する。今回は、以下をダウンロード。
- インストーラを実行
- インストーラは、設定ボックスなしで終了するので注意。
- タスクマネージャを起動して、[wmi_exporter.exe]プロセスがいることを確認
- ブラウザで、http://localhost:9182/metrics にアクセスし、WMI Exporterでメトリクスを確認(ホストのノートPCに入れたのでそのまま見れる)
WMI ExporterとPrometheusを連携する
$ sudo vi prometheus.yml static_configs: - targets: - 'localhost9090' // prometheus本体 - '192.168.33.11:9100' // vm2のnode exporter - '192.168.33.1:9182' // ホストマシンのWMI Exporter
連携が成功すると、「http://localhost:9090」 の[Status]→[Targets]では、以下のように表示される。 1つ目は、停止中なので"DOWN"でok。2つ目がホストマシン。連携できているようだ。
Prometheus + Grafana
概要
前回、とりあえず動かせたPrometheusのインタフェースをGrafanaにしてみる。
- Grafanaは、Prometheus本体があるサーバに入れる。
- Grafana 6.6.2
- Vagrantのポート転送で、ホストの3000ポートをゲストの3000ポートに転送するように設定しておく。(in Vagranfile)
Grafanaのインストール
Grafana公式を参考に実施 grafana.com
$ sudo vi /etc/yum.repos.d/grafana.repo [grafana] name=grafana baseurl=https://packages.grafana.com/oss/rpm repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packages.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt $ sudo yum install -y grafana $ rpm -qa | grep grafana grafana-6.6.2-1.x86_64 $ sudo systemctl daemon-reload $ sudo systemctl start grafana-server $ sudo systemctl status grafana-server $ sudo systemctl enable grafana-server.service
Grafana + Prometheusの連携
- ホスト上で、Grafanaに接続(http://localhost:3000/)
- ログイン(admin/admin)
- [Add data source]をクリック
- [Prometheus]を選択
- URL欄に「http://localhost:9090」を入力
- prometheusの本体がある場所。同じサーバ内なので「localhost」
- prometheusのポートが「9090」
- [Save & Test]をクリックし、「Data source is working」と表示されることを確認する
- [Home]→[Import dashboard]をクリック
- "Grafana.com Dashboard"欄に、テンプレートのIDを入力
- 「1860」
- "Options" -> "Prometheus"で、「Prometheus」を選択し、「Import」をクリック
- Dashboardが表示され、Prometheusが収集したデータが表示される。
Subversionリポジトリの移行
概要
Subversionリポジトリの移行検証をローカル環境で行う。
- ベースの環境は、自身の先日の記事の通り(CentOS7 + Subversion + Apache - belial6's diary)
- 移行元リポジトリ:/data/svn/repo1
- 移行先リポジトリ:/data/svn/repo2
- データはtrunkフォルダのみ。ブランチ、タグのデータは存在しない、とてもシンプルな構成。
- サンプルデータの登録、コミット用に、TortoiseSVNを使う
TortoiseSVNのインストール
- TortoiseSVNの公式(https://tortoisesvn.net/)にアクセス
- [Downloads]タブ をクリック
- [TortoiseSVN 1.13.1 - 64-bit] をクリックして、ダウンロード
- インストーラを実行。すべてデフォルト値で進む。
- 完了
移行元リポジトリの作成
$ sudo svnadmin create /data/svn/repo1 $ sudo svn mkdir file:///data/svn/repo1/trunk file:///data/svn/repo1/tags file:///data/svn/repo1/branches -m 'Initial import' $ sudo chown -R apache:apache /data/svn/repo1
チェックアウト
データの追加、コミット作業
チェックアウトした、trunk/フォルダにファイルを追加したり、編集したりして履歴を作成
コミット状態
移行先リポジトリの作成
$ sudo svnadmin create /data/svn/repo2 $ sudo svn mkdir file:///data/svn/repo2/trunk file:///data/svn/repo2/tags file:///data/svn/repo2/branches -m 'Initial import' $ sudo chown -R apache:apache /data/svn/repo2
移行
// リポジトリデータをダンプ $ sudo svnadmin dump /data/svn/repo1 > /tmp/svn_repo1.dump // リポジトリデータを復元 $ sudo svnadmin load /data/svn/repo2 < /tmp/svn_repo1.dump
移行後の状態(http://localhost:10080/repos/repo2)
移行できました。
CentOS7 + Subversion + Apache
参考にしたサイト(すぐできました) web-technical.hatenablog.com
概要
Vagrant環境の準備
(1)Vagrantfile生成 > vagrant init centos/7 (2)Vagrantfileの編集(ポート転送設定) config.vm.network "forwarded_port", guest:80 , host:10080 (3)VM作成&起動 > vagrant up > vagrant ssh
構築作業
$ sudo yum install -y subversion mod_dav_svn httpd $ svn --version svn, version 1.7.14 (r1542130) $ sudo mkdir -p /data/svn $ sudo svnadmin create /data/svn/repo $ sudo svn mkdir file:///data/svn/repo/trunk file:///data/svn/repo/tags file:///data/svn/repo/branches -m 'Initial import' $ sudo chown -R apache:apache /data/svn $ sudo vi /etc/httpd/conf.d/subversion.conf <Location repos> DAV svn SVNParentPath /data/svn </Location> $ sudo systemctl enable httpd $ sudo systemctl disable firewalld $ sudo vi /etc/selinux/config SELINUX=disabled
確認
ホストのブラウザを開いて「http://localhost:10080/repos/repo」
表示されました^^
Prometheusをとりあえず動かすまで
概要
Prometheusを初めて触るので、まずは動かしてみる
環境
- 作業マシンはノートPC(Windows 10 Home)
- Vagrant 2.2.5 + VirtualBox 5.2.8
- VM1:Prometheus本体、CentOS7.7、Private NW: 192.168.33.10
- prometheus 2.16.0
- VM2:監視対象サーバ、CentOS7.7、Private NW: 192.168.33.11
- node_exporter 0.18.1
Vagrantの基本操作
> vagrant init centos/7 // VMの作成 > vagrant up // 起動 > vagrant ssh // SSH接続 > vagrant halt // 停止 > vagrant reload // 設定ファイルの再読み込み
VM1(Prometheus本体)の作成
Vagrantfile
// ホストの9090ポートを、Vagrantゲストの9090ポートに転送 config.vm.network "forwarded_port", guest: 9090, host:9090 // プライベートアドレスを付与して、Vagrant内の他のVMと通信させる config.vm.network "private_network", ip: "192.168.33.10"
Prometheusのインストール
VM1にPrometheusをインストールして、動かす
$ sudo yum install -y wget $ wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz $ tar xvf prometheus-2.16.0.linux-amd64.tar.gz $ cd prometheus-2.16.0.linux-amd64 $ ./prometheus
ホスト上でhttp://localhost:9090に接続。Prometheus Web UIが表示された。
VM2(監視対象サーバ)の作成
Vagrantfile
// node_exporterの9100ポートを転送 config.vm.network "forwarded_port", guest: 9100, host:9100 // プライベートアドレスを付与して、Vagrant内の他のVMと通信させる config.vm.network "private_network", ip: "192.168.33.11"
node_exporterのインストール
VM2にnode_exporterをインストールして、動かす
$ sudo yum install -y wget $ wget http://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz $ tar xvf node_exporter-0.18.1.linux-amd64.tar.gz $ cd node_exporter-0.18.1.linux-amd64 $ ./node_exporter ... INFO[0000] Listening on :9100 source="node_exporter.go:170"
ホスト上でhttp://localhost:9100/metrics に接続(画像は一部)
Prometheus本体から、VM2のnode_exporterを監視する
ここは、次の章の「VM2(監視対象サーバの作成)」を実施してからやる。
prometheus.ymlの一番下の部分を以下のように編集して、prometheusを再起動
- job_name: 'prometheus' static_configs: - targets: - 'localhost:9090' - '192.168.33.11:9100'
[Status]→[Targets]を選択して、監視対象を確認する
- 1つ目は、VM2の監視対象サーバ
- 2つ目は、prometheus自分自身
HP DL360 G10にストレージドライバーを入れる
Windows Server 2016をインストールした際に、ディスクが見えなかったので、調べてみた。
環境
- DL360 Gen10
- Smart アレイ P408i-a SR Gen10 コントローラー
- ディスク 4本、RAID 5
調査
HPEサポートセンターで検索した結果、以下を発見
HPE Smartアレイ Gen10コントローラードライバー for WS2012 R2, WS2016, WS2019
https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_bd41c05a4be04fd4a66bed12c2
ドライバー
2つファイルがあるけど、両方いるっぽい。 * cp040553.compsig * cp040553.exe
インストール手順
Smartアレイコンポーネントをダウンロードして、実行する。
11/29 追記
ドライバーを入れたUSBを挿してフォルダを選択したが、「署名済みデバイスドライバーが見つかりませんでした。インストールメディアに正しいドライバーが含まれることを確かめてから、[OK]をクリックしてください。」と言われた。むーーー。
ここで、Intelligent Provisioningの試行をしてみることに・・・ その結果、なんとインストールできました!! とりあえず良かったけど・・・。
ちなみに、Intelligent Provisioningの使い方は、以下のサイトが参考になりました。
Windows10にTomcat8をインストール
インストール
- ダウンロード
- 任意の場所に展開
- webapps以下のフォルダを削除(すべて削除)
- docs, examples, host-manager, manager, ROOT
操作および設定
起動と停止の方法
- bin\startup.bat
- bin\shutdown.bat
ポート番号を変える
- server.xmlの"Connector port=8080"の部分を修正