ピアノを習い始めました(15年くらいぶり)

お世話になっております、ネットワーク兼ピアノ担当のゆうきです。

IT関係のメールって上に書いたような文言でメールを書き始めることって多いですよね。あまりにも多用し過ぎてて、個人メールを使う時に全然お世話になってない人にもこの文言を使いそうで怖いです。

さて、掲題の件ですが(これもよく業務メールで使われる)、ピアノを習い始めました。子供の頃に習っていたので、15年ぶりくらいです。週に一回、30分という一般的なレッスンです。カワイとかヤマハではなくて、完全に個人のレッスンです。
習い出す前に一回、どんな感じに進めるかとか会話したのですが、社会人ということもあり練習時間が満足に取れないこともあって、好きな曲を好きな感じでやろうということに落ち着きました。

で、先日、初回のレッスンがあったのですが、ピアノを知っている人に真面目に自分のピアノの演奏を聞かれるってめちゃくちゃ恥ずかしいですね。自分の裸体をさらけ出してる気持ちでした。
そこそこ譜読みを終えてる曲でレッスンをお願いしたのですが、もう、恥ずかしいことだらけで、、、音を聞くだけでそこまで分かるの?ってくらい性格とか細かい癖とか指摘されて、全然音が出せませんでした。
グランドピアノってアップライトと違ってすごい大きな音が出るんですよね。もちろん小さな音も出るので、音の深みが出るんです。音の深みとか言ったら通っぽい感じがしますね。うふ。

技術向上を目指したレッスンではなく、音楽=音を楽しむ目的のレッスンなので、来週からは緊張しないように頑張りたいと思います。先生、よろしくお願いします。

Zabbixでホスト名を更新してもhostidは変わらない

zabbixの運用で、「ホスト名に変更があった場合、ホスト名の変更はせず、旧ホスト削除→新ホスト追加で対応してください」という引き継ぎがあったらしい。ホスト名なんてGUIからちょちょいと変更出来るのにNGな理由が気になったので検証してみた。

【検証環境 】
Zabbix-server: 4.4.0
MySQL: 5.7.28

結果:ホスト名を変更してもhostidが変わらないため、hostidで管理しているアプリなどが存在する場合に影響を与える可能性があるためと推察される。

以下、検証した結果を張り付け。

[arkey22@zabbix4]$ mysql -u zabbix -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 922871
Server version: 5.7.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
mysql>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
2 rows in set (0.00 sec)

mysql>
mysql> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>
mysql> select hostid, host from hosts where host = "zabbix4";
+--------+---------+
| hostid | host    |
+--------+---------+
|  10084 | zabbix4 |
+--------+---------+
1 row in set (0.00 sec)

mysql>

===========================================================================
ここでGUIからホスト名を「zabbix4」から「zabbix4zzzz」に変更
===========================================================================

mysql>
mysql> select hostid, host from hosts where host = "zabbix4zzzz";
+--------+-------------+
| hostid | host        |
+--------+-------------+
|  10084 | zabbix4zzzz |
+--------+-------------+
1 row in set (0.00 sec)

mysql>
mysql>

===========================================================================
ここでGUIからホスト名を「zabbix4zzzz」から「zabbix4」に変更
===========================================================================

mysql>
mysql> select hostid, host from hosts where host = "zabbix4";
+--------+---------+
| hostid | host    |
+--------+---------+
|  10084 | zabbix4 |
+--------+---------+
1 row in set (0.00 sec)

mysql>

自分の預かりらぬところでhostidを使って管理してるシステムがあるかもしれないから、ってことですね。運用する側としてはホスト名の変更は往々にして発生するので、納得行かないところ。特にホストを削除すると過去データまで消えちゃうのが痛い。たぶん強引にごにょごにょすれば新ホストと旧ホストでデータを引き継げるんだろうけど、SQLでDBを直接いじらにゃいかん気がする。運用でそこまでやってられんですね!以上!

エラーメッセージでググれカス

エラーが出た時ってエラーメッセージが出るのだけれど、なぜかそれをそのままググらず、別の方法で解決を試みようとする人が多い気がする。
もちろんエラーメッセージで大体の原因が分かる場合はそれで全然良いのだけれど、どこから切り分けしていけば良いか分からない場合はエラーメッセージをそのままググるのがベストだと思う。ダブルクオーテーションでメッセージを括ってググると検索精度が上がるのでなお良い。

まともなアプリやスクリプトならエラーメッセージは様々な分岐を経て、そのエラーメッセージを出力してるわけで、製作者の意図したメッセージなわけで、そこには明確な意図があると思うんだよね。アプリ作る側の人間じゃないから詳しくは知らないけれど。
(ここで言う「まとも」とは数十行で書かれたような片手間シェルスクリプトじゃないということ)

エラーメッセージをググらない原因の一つに、大抵のエラーメッセージは英語だっていう理由があると思う。エラーメッセージも英語だしエラーメッセージで検索しても英語の記事ばかり出てくる。記事というより非公式のフォーラムで会話してるだけで信頼出来る情報なのか謎の場合もよくある。
それでも、独自調査をするより英語を翻訳サイトに丸投げする方がマシだと思う。だってそのエラーメッセージで会話してる人も同じ悩みを抱えてるわけだから、答えがそこにあってもおかしくないよね。

ググれカス。以上。

Zabbix API で Shell からメンテナンスを操作する(Zabbix4.4)

Zabbix API で Shell からメンテナンスを操作するを見て、Zabbix4系でもできたら良いなと思って作りました。作ったメンテナンスの情報を削除しない予定なので、メンテナンスの作成のみとなっています。
Zabbix APIからのメンテナンス操作についても参考にさせて頂きました。

【環境】
CentOS Linux release 7.7.1908 (Core)
Zabbix 4.4.0

コード

#!/bin/bash
#
# Create maintanance period on zabbix for specific host.
# Default maintenance period is 1 hours.
# If you need to change the period, change the folowing values:
#  - time_till=`date "+%s" -d "1 hours"`
#  - "period": 3600
#
# Usage
#  Arguments:
#  $1 hostname(zabbix registered)
#  $2 zabbix maintenance name
#    Note: $2 cannnot contain any spaces.
#
# Example
# ./create_maintenance_period.sh server "Sunday_maintenance"
# ./create_maintenance_period.sh hinata サーバ再起動
#


# Initial settings
zbx_endpoint="http://zabbix4/zabbix/api_jsonrpc.php"
user="arkey22"
password="XXXXXXXX"
time_since=`date +%s`
time_till=`date "+%s" -d "1 hours"`

# Get token
token=`curl -s -d '{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "'$user'",
        "password": "'$password'"
    },
    "id": 1,
    "auth": null
}' -H "Content-Type: application/json-rpc" $zbx_endpoint | awk -F'"' '{print $8}'`

# Get host id  
host_id=`curl -s -d '{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
   "output": [
            "hostid"
           ],
        "filter": {
          "host": [
                  "'$1'"
            ]
        }
    },
    "auth": "'${token}'",
    "id": 1
}' -H "Content-Type: application/json-rpc" ${zbx_endpoint} | jq -r '.result[].hostid'`

# Create maintenance
maintenance_id=`curl -s -d '{
  "jsonrpc": "2.0",
  "method": "maintenance.create",
  "params": {
    "name": "'$2'",
    "active_since": '$time_since',
    "active_till": '$time_till',
    "hostids": [
      "'$host_id'"
    ],
    "timeperiods": [
      {
        "period": 3600
      }
    ]
  },
  "id": 1,
  "auth": "'${token}'"
}' -H "Content-Type: application/json-rpc" ${zbx_endpoint} | jq -r '.result.maintenanceids[]'`
if [ $? -eq 0 ]; then
  /bin/echo -e "[INFO] Successfully created a maintenance period."
  /bin/echo -e "[INFO] Hostname: $1"
  /bin/echo -e "[INFO] Maintenance Name: $2"
  /bin/echo -e "[INFO] Maintenance_id: $maintenance_id"
else
  /bin/echo -e "[ERROR] Failed to create maintenance period."
fi

実行結果

$ ./create_maintenance_period.sh c2960 再起動のため
 [INFO] Successfully created a maintenance period.
 [INFO] Hostname: c2960
 [INFO] Maintenance Name: 再起動のため
 [INFO] Maintenance_id: 28


バイクを1年点検に出してきましたので、維持費などをざっくり出してみました。

お久しぶりにバイクネタです。2018年8月に購入したMT-25ですが、1000kmで初回点検を受けてオイル交換をしています。
今回は、新車で納車して1年が経過していることと、走行距離が7000km近くなったので、点検に出さなにゃーと思い、最寄りのYSPに出してきました。

かかったお金

総額で約17,000円です。
内訳は工賃が1万円、オイルとオイルフィルターが合わせて7000円でした。もちろん、オイル以外にも冷却水の補充やフットブレーキの錆落とし、洗車など色々して頂きました。
ボルトの締め具合なども診て頂いてるので、ぼったくり価格ではないと思っています。僕は車体の整備に一切興味が無いので、全てお任せしてます。

結局のところ、250ccのバイクを一年(7000km)くらい走らせるとどれくらいお金がかかるのか

  • 燃料代・・・27,000円
    (燃費=35km/L、1L=135円、走行距離=7000kmで計算)
  • 初回点検・・・無料(YSPで新車購入した場合、初回点検は無料でした)
  • 1年点検・・・17,000円
  • 駐車場代・・・自宅敷地内のため無料。駅周辺では借りれる場所が無いため使えず。
  • 任意保険・・・約20,000円
    総額64,000円

超ざっくりですが、10万もかからない計算になりました。月額換算だと約5000円です。僕が借りてるレンタルサーバより安いですね…。

まとめ

今後も1年ないし半年に一回くらいの頻度で点検に出そうと思っています。長く乗りたいものですねー。