SpringBoot LOG_FILE_IS_UNDEFINED 凡ミス

なぜか起動したSpringBootアプリケーションのログファイルがLOG_FILE_IS_UNDEFINEDとなってしまっていた。

logback-spring.xmlには以下のように設定してあるので/var/tmpに出るはず。

<!--ローカル環境用設定 -->
<springProfile name="default">
    <property name="LOG_FILE" value="/var/tmp/spring_default.log" />
</springProfile>

<!--develop環境用設定 -->
<springProfile name="local">
    <property name="LOG_FILE" value="/var/tmp/spring_local.log" />
</springProfile>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>${LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOG_FILE}.%d{yyyyMMdd}</fileNamePattern>
        <maxHistory>5</maxHistory>
    </rollingPolicy>
</appender>

んでよくよく見るとprofileがlocalとdefaultしかなくて、該当ファイルが出ていたのはprodで動かしていたので${LOG_FILE}が未定義の変数扱いになっていたという!

カテゴリー: SpringBoot | コメントする

esxi sshシェルで仮想マシン強制シャットダウン

Windows10が1日でCPU100%になってしまう問題。もはや毎日の定例行事で強制停止が恒例に。SSHシェルでプロセスIDを特定してkillする。

ps -jv | egrep “WID|Windows10”
WID CID WorldName GID
8062922 0 vmm0:Windows10 8062921
8062926 8062921 vmx-mks:Windows10 8062921
8062927 8062921 vmx-svga:Windows10 8062921
8062928 8062921 vmx-vcpu-0:Windows10 8062921

カテゴリー: VMWare, 仮想化 | コメントする

preg_match(): Compilation failed: invalid range in character class at offset 4 simple_html_dom php7.3で発生

正規表現の記述の仕方がPHP7.3で変わったようで、simple_html_domを使った処理で落ちていたという。バッチ処理のためすぐには気が付かず15分後に気が付いて慌ててPHP7.2にダウングレードしようとしたら、PHP5が入ってしまいWordpressが動かずにさらに慌てるという!

原因は simple_html_dom 内部の正規表現なのでPHP7.3対応バージョンの1.9に差し替えればうまくいくはず。

これから検証環境で試す!

追記:simple_html_domの1.9で試したらnamespaceが導入されていて、メソッドの頭にnamespaceを付けないとだめだったが、それらの対応をしてPHP7.3対応完了!

カテゴリー: 未分類 | コメントする

running as root without –no-sandbox is not supported. 対策

chromeをrootで動かすと出てしまうエラー。

通常コマンドであればエラーメッセージの通り–no-sandboxオプションをつけて起動すれば良い。

Seleniumの場合オプション指定のやり方があるので下記の通りに記載する。

ChromeOptions chromeOptions = new ChromeOptions();
// rootで実行するとき向け
chromeOptions.addArguments("--no-sandbox");

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
capabilities.setCapability("pageLoadStrategy", "none"); // normal eager none
driver = new ChromeDriver(capabilities);
カテゴリー: 未分類 | タグ: | コメントする

selenium driver 入れるならPATHの通ったところへ

Seleniumで利用する各種ブラウザ対応のWebDriverだが、任意の場所へインストール(というか配置)してプログラム中で場所を指定していたのだが、流石にWindows/Mac/Linuxと3つの環境で動かすこともあるため、その度に書き換えるのはめんどくさい。

回避策としてはPATHが通っているところへ配置することで、Selenium側がそちらを探してくれるのでいちいちプログラム側で設定不要!

mac/linuxなら/usr/local/binあたりに置いておくのが良い。Windowsはどこが良いかな。。。

brew install chromedriverでインストールされるのも/usr/local/binである!

カテゴリー: Selenium, Test | タグ: | コメントする

Ansible 下手に日本語使うと ERROR! Syntax Error while loading YAML.

それまで動いていたPlaybookだが表題の通りのメッセージが出た。

host_vars/ホスト名.ymlに日本語のコメントを追加していたのでそのせいだった。

ホスト名が一致しないとhost_varsを読み込まないため、日本語コメント記載と実行まで間隔が開いて、発覚して慌てた。

こういうトラブルを避けるためにもコメントであろうともマルチバイト文字の利用は極力避けようと誓うのであった。

カテゴリー: Ansible | コメントする

Mariadb 5.5から10.3にアップグレード

CentOS7標準のMariaDBは5.5(MySQL 5.5相当)であるが、CentOS8では10.3となりMySQLのバージョンで言えば5.8相当(ただし、バージョンが進むにつれて機能差分も出てきているのであくまで参考程度)となる。

いきなり10.3にアップグレードするのは怖いので、試験用VPSでCentOS7からMariaDB10.3にしてみよう。ちなみにMariaDB5.5のmysqldumpイメージは10.3に流し込んだらuserテーブルがすでに存在するとのエラーで使えなかったという!

アップグレード自体は公式HPに乗っているワンライナーでリポジトリを追加して、yum installするだけだ。自分の場合percona-toolkitを入れていたのでそちらがコンフリクトした。泣く泣く削除(percona-toolkitほとんど使ってないけど)

yum list installed | grep percona
yum remove percona-release percona-toolkit
# repositoryインストール
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# mariadb 10.3インストール
yum install MariaDB-server MariaDB-client

無事アップグレードして、mysqlクライアントから接続成功だが!

mysqldumpしてみるとエラーが発生。ネットの情報を頼りにmysql_upgradeして再実行で無事成功!

# mysql 全体バックアップ
mysqldump -u root -p -x –flush-logs –master-data=2 –all-databases –events > /var/tmp/backupsql.sql
# エラー!!!
mysqldump: Couldn’t execute ‘show events’: Cannot proceed, because event scheduler is disabled (1577)
# バージョン違いのDBをアップグレードする!
mysql_upgrade -u root -p –verbose

カテゴリー: Database, MySQL | タグ: , | コメントする

AWS credential Javaから利用

AWSのCLIを利用している時の設定をJavaから利用する時は環境変数でprofile名を指定するのがお手軽(切り替えるときにソースを変えなくていいので)

以下の登録状態だとして、AWS SDKから呼ばれる認証情報はdefaultになるが、AWS_PROFILE環境変数にsqsをセットするとsqs profileが利用される。

[default]

aws_access_key_id = IAM_KEY_DEFAULT
aws_secret_access_key = IAM_SECRET

[sqs]

aws_access_key_id = IAM_KEY_SQS
aws_secret_access_key = IAM_SECRET

カテゴリー: AWS | コメントする

Conoha VPSにCentOS8イメージ登場

先月末ぐらいにリリースされたCentOS8であるが、さくらのVPSに続きConoha VPSにCentOS8登場!

実は先週末にisoファイルアップロードして自力でインストールしていたのが、無駄になってしまった!まぁ公式イメージが出たならそっちのほうが早いからよいのだけど。

早速今のCentOS7ベースのAnsibleスクリプトを動かして、移行できるか検証する予定。

結論:パッケージ名が変更になったり、python3が標準になって手直し必須状態でした。

カテゴリー: CentOS, Linux | タグ: , | コメントする

Windows10 1903更新後 CPU100%で不安定に

前回の投稿で1903更新後にタスクスケジューラが止まったことは記載したが、これは毎回のことで想定内のことであった。

しかし、タスクスケジューラが再開されてすぐにCPUパワーが100%で張り付き、リモートデスクトップでも接続できない事態に遭遇。仮想マシンのコンソールからもログイン不可能。

ESXiのコンソールで再起動実行しても反応がないので、SSHコンソールで強制終了すること数回。しばらく100%になる事態が続いていたが、2日後ぐらいにようやく安定した。

今回の一連の勝手に自動更新からのバッチ処理停止ということがあったので、早めに脱Windowsをしなければと思うのであった。

カテゴリー: 未分類 | コメントする