intelijでTypeScriptのJSXトランスフォーム機能を利用時に警告が出る
react 17.0からJSXトランスフォームが実装されているので、本来であればtsconfigにreact-jsxを指定する事が可能です。
これをintelijでロードした場合に、以下のような警告が表示されるケースがあります。
対策としては、以下の「Always download the most recent version of schemas」にチェックを入れることで警告は出なくなります。
docker上でgrafanaを使って様々な監視と通知をさせる
かなり久しぶりの更新です。
最近は開発者でもある程度インフラの事が出来ないといけない風潮になってきました。
ジェネラリストになる道もあるとは思うのですが、開発の割当時間をもっと増やしたいと思っている今日このごろです。
今回はインフラ周りの技術がテーマです。
会社でgrafana & prometheusを使って色々と監視やアラートを出す設定をしているのですが、自宅環境ではまだ対応出来ていなかったので設定していきます。
特に自宅環境は、非力なマシン上でdocker-containerをたくさん起動して公開しているので、grafanaでホストとコンテナの統合監視を実現します。
続きを読む
golangのパッケージ管理ツールglideが非推奨になっていることに気づく・・
概要
golang1.11がリリースされたので、言語のバージョンアップと一緒に利用しているパッケージのバージョンも確認していたところ、glideのgithub上に以下の記載がありました。
Golang Dep
The Go community now has the dep project to manage dependencies. Please consider trying to migrate from Glide to dep. If there is an issue preventing you from migrating please file an issue with dep so the problem can be corrected. Glide will continue to be supported for some time but is considered to be in a state of support rather than active feature development.ent.
github GitHub - Masterminds/glide: Package Management for Golang
いずれdisconになるので、depへの切替を検討して下さいとのこと。すぐにやらないとこういったことは、後回しにされがちなので、対応しました。
続きを読むraspberry pi zero whをUSB経由でインターネットに接続する
前回はraspberry piにOSインストールまで行いました。 このままだとraspberry piにIPアドレスがなく、インターネットに接続出来ない状態のままとなり困るので、 USBを通してインターネットに接続する設定を行います。
続きを読むraspberry pi zero whにOSをインストールする
raspberry pi zeroの最新版であるwhを購入したので、インストールしてカメラ動作の確認、各種センサーの動作を確認まで行います。 今回のテーマは、OSのインストールです。
購入した機種
機材使用は以下のページの通りです。
whはGPIOが標準搭載された機材なので、センサー周りの追加なども簡単に行うことが出来ます。
monitを使ったサービス簡易監視の設定
本格的な監視をするならzabbixですが、スモールサービスで簡易な監視を行う場合はmonitがお手軽です。
実行環境
CentOS Linux release 7.5.1804 (Core)
インストール
# epel install [root@vmhost01 ~]# yum install -y monit Installed: epel-release.noarch 0:7-11 Complete! # monit install [root@vmhost01 ~]# sudo yum -y install monit Installed: monit.x86_64 0:5.25.1-1.el7 Complete!
ディレクトリ構成
path | 役割 |
---|---|
/etc/monitrc | monitの基本設定 |
/etc/monit.d | 各種監視の設定 |
プロセス監視
httpdの設定を例にした場合は、以下のように設定する
[root@vmhost01 ~]# vim /etc/monit.d/httpd check process httpd with pidfile /var/run/httpd/httpd.pid start program = "/bin/systemctl start httpd" stop program = "/bin/systemctl stop httpd" if failed host localhost port 80 protocol http then restart
リソース監視
リソースを監視する設定を例にした場合は、以下のように設定する
[root@vmhost01 ~]# vim /etc/monit.d/sysresrc check system 127.0.0.1 ## cpu/mem check if loadavg (15min) > 2 then alert if cpu usage (user) > 90% then alert if memory usage > 80% then alert ## service restart when high load if loadavg (1min) > 2 then exec "/etc/init.d/postgresql restart" if loadavg (1min) > 2 then exec "/etc/init.d/httpd restart" ##disk check check device disk_/ with path / if space usage > 90% for 5 times within 15 cycles then alert if space usage > 98% then stop
構文チェック
設定した記述が正しいかチェックを行う。
[root@vmhost01 ~]# monit -t Control file syntax OK
起動設定
# monit起動 [root@vmhost01 ~]# systemctl start monit # monit自動起動設定 [root@vmhost01 ~]# systemctl enable monit
状態確認
現在サーバがどのような状態なのか、以下のコマンド結果で確認が可能です。
[root@vmhost01 ~]# monit status Monit 5.25.1 uptime: 1m Process 'httpd' status Initializing monitoring status Initializing monitoring mode active on reboot start data collected Fri, 10 Aug 2018 22:33:32 System 'vmhost01' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.05] [0.05] [0.05] cpu 0.3%us 0.3%sy 0.0%wa memory usage 694.2 MB [37.8%] swap usage 7.5 MB [0.4%] uptime 13d 12h 11m boot time Sat, 28 Jul 2018 10:22:23 data collected Fri, 10 Aug 2018 22:33:32