aoishiの備忘録

備忘録

Fedora 30 にマルチタッチジェスチャーの Fusuma をインストールする

Fusuma とは? Linux 環境でのタッチパッドのスワイプやピンチ操作時に、コマンドを実行できるようにしてくれるツールです。 これにより、例えば Mac 環境のようにブラウザでピンチアウト・イン操作することで WEB ページを拡大・縮小するといったことができ…

ThinkPad X1 Carbon (Gen 5) の Fedora 29 を Fedora 30 ヘアップグレード

Fedora 30 は 2019-04-21 現在まだ Beta リリースですが、2019-05-07 の GA リリースまで我慢できず手元の Fedora 29 環境をアップグレードしてみました。 Releases/30/Schedule - Fedora Project Wiki アップグレード手順と、アップグレード後に発生した問…

ThinkPad X1 Carbon(2017モデル)のFedora27をFedora28にアップグレード

ThinkPad X1 Carbon(2017モデル)にインストールしていたFedora27をFedora28にアップグレードしました。 Fedora27は下記の手順でアップグレードインストールしていました。 aoishi.hateblo.jp 今回も上記と同様の手順でいきます。 環境 手順 バックアップを取…

PrometheusとPushgatewayでGoogle Finance APIの株価をPushしてモニタリングしてみた

コンテナ環境などスケールするインフラ、システムのモニタリングに向いていると話題のPrometheusですが、Zabbix SenderみたいなPush型方式のモニタリングができるのか興味があったので調べてみました。 結論から述べると、下記の要領でPush型のモニタリング…

自己証明書を簡単に作成する方法

環境 OS: CentOS 7.4 OpenSSLのパッケージが用意した?スクリプト RPMなどのパッケージでopensslを導入した環境では、下記のスクリプトが配置されている。 $ ls -al /etc/pki/tls/certs/make-dummy-cert -rwxr-xr-x. 1 root root 610 8月 4 2017 /etc/pki/tl…

ThinkPad X1 Carbon 2017のFedora27にVirtualBoxをインストールしようとしてハマった

昨年に下記の記事でThinkPad X1 Carbon(2017)のFedora26をFedora27にアップグレードしたことを紹介した。 aoishi.hateblo.jp その環境にVirtualBoxをインストールしたところ、仮想マシンが起動できない事象が発生し見事にハマってしまったが、原因はセキュア…

CobblerでCentOS7のextrasリポジトリのミラーリングに失敗していたので原因調査してみた

CobblerでCentOS7の各種リポジトリをローカルにミラーリングしているが、extrasリポジトリのミラーリングに失敗していたので、原因調査してみた。 先に結論を述べると、エラーとなっていたパッケージをローカルから削除して再度ミラーリングしたところ事象解…

自宅VPNにAndroidで接続する時のメモ

Androidのスマホを機種交換した際に、自宅VPNに接続する設定を忘れてしまってたのでメモとしてまとめておきます。 環境 端末: HUAWEI P10 lite Androidバージョン: 7.0 VPNサーバ: EdgeRouter X v1.9.1 自宅VPN ちょうど一年前に友人の勧めでEdgeRouter X買…

Pythonのsetproctitleモジュールでプロセス名を設定する

Pythonのmultiprocessingモジュールで書かれたマルチプロセスなプログラムで、psコマンドで親・子プロセス名を分かりやすく表示させるために、setproctitleモジュールを使ってプロセス名を設定してみました。 環境 OS: Fedora release 27 (Twenty Seven) Pyt…

Zabbix Senderを自前実装する場合にはZabbix Protocolのヘッダーが必要だった

はじめに 以前に下記の記事でZabbix Senderを自前実装していましたが、一つのコネクションで一度に大量のデータを送ろうとするとたびたびエラーになることがわかりました。 実装に不備があることもわかったので、正しいと思われる方法についてまとめておきま…

ApacheのScoreboardをモニタリングする

はじめに 私事ですが、昨年末に運用しているWEBサービスにて、Apacheの同時接続数が上限に達し一時的にサービス提供できなくなる経験をしました。 その際に、エラーログにScoreboardという文字列を含む下記のエラーログが頻発していました。 AH00286: server…

Pythonでネストを減らす(if文によるdictのキーチェック編)

やりたいこと PythonでJSONないしはYAMLで記述された設定ファイルを読み込みたい 読み込んだ設定ファイルをdictとして扱い、キーが存在したら何らかの処理をしたい キーチェックのためのネストを減らしたい 元の方法 YAMLで記述された設定ファイルを読み込み…

Pythonとcronで秒単位で定期処理する

やりたいこと Pythonのスクリプトを定期的に実行したい cronで手軽に定期処理したい 秒単位で定期実行したい 解決方法 Pythonスクリプト作成 下記のように、実行間隔(秒)と実行回数をコマンドライン引数で与えて、Pythonのスクリプトの中で繰り返し実行でき…

Zabbix Sender + LLD(ローレベルディスカバリ) + dstat + Grafanaでリソースモニタリング

はじめに Zabbix Advent Calendar 2017 の3日目の投稿です。 リソースモニタリング方法については、色々な手法が提案されていると思いますが、今回はZabbix SenderとLLD(ローレベルディスカバリ)を使い、dstatで得られるデータを収集・グラフ化してみたい…

SSH秘密鍵から公開鍵を作成する

はじめに SSHの秘密鍵から公開鍵って生成できるのかと思って調べてみたので、手順をまとめておきます。 環境 CentOS 7.4 openssh-7.4p1-12.el7_4.x86_64 秘密鍵から公開鍵を生成できるか確認する方法 SSH秘密鍵と公開鍵のペア作成 カレントディレクトリに、t…

CentOS7のtcpdumpでインターフェースを指定しないとエラーになる

はじめに CentOS7のtcpdumpで、ネットワークインターフェースを明示的に指定しない場合に下記のメッセージが出力されたので、その際に対応したことをまとめます。 $ sudo tcpdump tcpdump: packet printing is not supported for link type NFLOG: use -w 環…

ThinkPad X1 Carbon 2017のFedora26をFedora27にアップグレード

はじめに ThinkPad X1 Carbon 2017にインストールしていたFedora26をFedora27にアップグレードしてみました。 基本的には下記の公式ページのアップグレード手順に従って勧めましたが、やったことをまとめておきます。 https://fedoraproject.org/wiki/DNF_sy…

GNOME3でウィンドウを画面の四隅に移動またはサイズ調整する

はじめに Fedora26で標準のデスクトップマネージャであるGNOME3を使っていますが、Windows10のようにウィンドウをドラッグして画面の四隅に寄せることで画面の1/4サイズに調整させるようなことを実現してみたくて方法を調査してみました。 環境 ThinkPad X1 …

CircleCI 2.0でDjangoの自動テスト環境を構築する

はじめに Djangoで作成したWebアプリケーションをCircle CI2.0で自動テストできるようにしてみました。# 環境 Django 1.11.5 CircleCI 2.0 Python 3.6.1 (circleci/python:3.6.1 DockerImage利用) MySQL 5.7 (circleci/mysql:5.7 DockerImage利用) また、事…

DockerでDjangoの開発環境を作成する(Quickstart: Compose and DjangoのMySQL版)

はじめに Dockerの公式ページにDocker Composeを使った簡単なDjango/PostgreSQLの環境構築のチュートリアルがあります。 docs.docker.com 普段からMySQLを使うことが多いので、PostgreSQLの代わりにMySQLを使ってチュートリアルをやってみました。 環境 OS: …

ESXi上の仮想マシンでLVMのXFSファイルシステムを拡張する

はじめに ESXi上の仮想マシンで、ディスク拡張してLVMのXFSファイルシステムを拡張したときのメモです。 環境 ESXi 6.0.0 Update 2 (Build 3620759) VMware Host Client 1.23.0 (Build 6360286) 拡張対象 OS パーティション 論理ボリューム マウントパス フ…

Grafana-ZabbixでDirect DB Connectionを使ってみた

はじめに Grafana-ZabbixでDirect DB Connectionを使ってみたのでまとめてみました。 Gfarana-ZabbixはZabbixのデータをGrafanaで可視化するためのデータソースプラグインです。 α版ではありますがGrafana 4.3以降でMySQLがデータソースとしてサポートされ、…

DDNSサービスのMyDNSを使って無料で自宅サーバとVPSのDNS登録してみた

はじめに 固定IPでない自宅サーバへ固定のDNS名でアクセスしたいと思い、DDNS(ダイナミックDNS)サービスであるMyDNSを使ったときの備忘録です。 また、何度も作り直すことが多いVPSサーバも固定のDNS名でアクセスできるようにしてみました。 MyDNSとは DDNS(…

Djangoで文字コードutf8mb4でMySQLに接続する方法

はじめに Djangoで文字コードがutf8mb4のMySQLデータベースを利用するためのメモです。 絵文字を含むデータを使うために文字コードがutf8mb4のデータベースを作成したのですが、クライアント側の文字コード設定を忘れてしまい、レコード追加時に下記のエラー…

Pythonでloggingモジュール使ってライブラリ内でログ出力する時のまとめ

はじめに Pythonでloggingモジュールを使う際の備忘録です。 下記の要求を実現することを目的としています。 ライブラリ化したいコードがあり、デバッグ目的などでログを出力させたい。 ライブラリで発生した例外のトレースも同じログに出力させたい。 ライ…

Chromeの拡張機能 smartUp Gestures と Go Back With Backspace で戻る&進む機能を便利に使う

はじめに Chromeの「戻る」と「進む」機能を使いやすくしようとした備忘録です。 職場でも自宅でも主にノートPCを使っていて、マウスが手元にない場合に使い勝手が悪いと思ったので調べてみました。 はじめに 環境 方法 5ボタン以上のマウスを携帯する Alt +…