投稿

12月, 2023の投稿を表示しています

ZabbixAgentのインストールの半自動化

  ZabbixAgent もたくさん入れるとなると面倒なので、極力コピペとか避けたいと思って準備した。WindowsがサービスからZabbixAgentとSNMPトラップ有効化してあげないといけなくてなんか残念感はあるけど、他のGUIいじくらなくてよくなってたので少し楽(AWSのWindowsServer2022のみで確認) ■Linux側のAgentインストール $ cat << '_EOF_' > zabbix_agent.sh #!/bin/bash ZABBIX_DL_URL=https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb ZABBIX_PKG=zabbix-release_6.4-1+ubuntu22.04_all.deb ZABBIX_SERVER_IP=10.0.10.122 wget ${ZABBIX_DL_URL} sudo sudo dpkg -i ${ZABBIX_PKG} sudo apt update sudo apt install -y zabbix-agent2 zabbix-agent2-plugin-* sudo sed -i 's/Server=127.0.0.1/Server='"${ZABBIX_SERVER_IP}"'/g' /etc/zabbix/zabbix_agent2.conf sudo sed -i 's/ServerActive=127.0.0.1/ServerActive='"${ZABBIX_SERVER_IP}"'/g' /etc/zabbix/zabbix_agent2.conf sudo sed -i 's/Hostname=Zabbix server/#Hostname=Zabbix server/g' /etc/zabbix/zabbix_agent2.conf sudo sed -i 's/# HostnameItem=system.hostname/Host

Redmineのインストールをいい塩梅に半自動化する

日を置いてから 過去のブログの これ とか これ を参照してRedmine入れようとしてもなかなかうまいこと行かないことが多いのでむかついて、インストールをShellスクリプト化した。 プラグインとかcronの仕込みとかはできていないのと、SendGridでメール飛ぶか試せていないのでそこは今後、試していこうかなと思っていたりする。 ちなみに固定IP取ってDNSに登録すれば AWS:EC2+RDS、EC2単体 GCP:GCE+CloudSQL(PostgreSQL)、GCE単体 上記2つで動くところまでは見れてます。 細かな部分はチューニングすれば、まぁ最小の労力でRedmine立てれるな。というより4年前に作っとけよって話ですよな・・・・。 ◆Shellスクリプト #!/bin/bash SHELL_USER=yourexec_user HOST_NAME=redmine-srv POSTGRE_VER=postgresql-15 DB_VERSION=15 DATABASE=redmine MASTER_USER=postgres DB_USER=redmine DB_PASSWORD=redmine MAIL_ADDORESS=smtp.sendgrid.net MAIL_DOMAIN=smtp.sendgrid.net PORT=587 MAIL_DOMAIN=smtp.sendgrid.net MAIL_USER_NAME=apikey MAIL_PASSWORD=SG.XXXXXXXX ATTATCHMENT_PATH=/var/www/redmine/files RUBY_VER=3.2.2 WEB_USER=www-data SERVER_NAME=web.example.com SITE_URL=https://web.example.com/ DOCUMENT_ROOT=/var/www/html ADMIN_MAIL=yourmail@example.com sudo hostnamectl set-hostname ${HOST_NAME} # --------------------------------------------- # 1.nginxインストール # ---------------------------------

ZabbixServerのインストールをShellでいい塩梅に半自動化する

なんかZabbixのお勉強をしないといけなくなってEC2で構築しようとしたけれども何回もやるのかったるいのでShellスクリプトでコマンドコピペしなくても動くようにしました。 zabbix.shとかいう名前つけてファイル保存してから権限つけて ./zabbix.shとしてあげればZabbixServerとWeb-UI入れてくれます。なんかtime-scaleがうまく動かないのと細かいパラメータは調整いるけど、かなり楽にはなって試行錯誤しやすくなりました。 事前に EIP を取って Route53 に登録してやれば EC2 + RDS(PostgreSQL) 構成もしくはEC2単体構成で動かすことができます。【 AWS 構成】 もしくは 静的外部アドレス とって CloudDNS を登録してあげれば GCE + CloudSQL(PostgreSQL) 構成もしくはGCE単体で動かすこともできます。【 GCP 構成】 Azure と普通の Ubuntu の場合は試していないけど必要なパッケージ入れてあげれば動くと思います。たぶん 動くは動くけど、なんか time-scaledb はうまく機能していない(´;ω;`) バージョンは切替できるので、それで試してみるとうまく動くかな。それとパラメータあまりいじくっていないのでそのあたりは細かく設定する必要あり。 ちなみに、一々コピペしてコマンド貼り付けなくてよいのでかなり楽になったかな ◆Shellスクリプト #!/bin/bash HOST_NAME=zabbix-srv POSTGRE_VER=timescaledb-2-2.12.2-postgresql-15=2.12.2~ubuntu22.04 #POSTGRE_VER=timescaledb-2-postgresql-15 DB_VERSION=15 DATABASE=zabbix MASTER_USER=postgres DB_USER=zabbix DB_PASSWORD=zabbix PHP_FPM=php8.2-fpm PG_SQL=php8.2-pgsql PHP_VERSION=8.2 SERVER_NAME=zabbix.example.com SITE_URL=https://zabbix.example.com/ DOCUMENT_ROOT=/

TypeScriptでGraphQLのお勉強①

AWSの APPSync を使う前に GraphQL のお勉強をしようと思い、 Appolo + TypeScript を使って実験をしてみた。弱っちいので相変わらずコピペの権化みたいな感じになっています。 queryとmutationとsubscriptionがあるとかいうのはなんとなくは分かったものの、どうやって使うかはこれから試行錯誤ですかな・・・ ◆環境構築 1.nodeの仮想環境インストール $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash $ echo 'export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' $ source ~/.bashrc $ nvm ls-remote $ nvm install stable $ nvm install --lts --latest-npm $ nvm alias default 'lts/*' $ nvm current v18.17.1 2.Appoloほか環境構築 $ mkdir graphql-server-example && \ cd graphql-server-example && \ mkdir configs && \ mkdir data && \ touch index.ts && \ touch configs/resolver.ts && \ touch configs/query.graphql && \ touch configs/schema.graphql &&a