Заметки админа

Windows Server, сертификация Microsoft и прочее админское...

Настройка log4jdbc в Spring Boot приложении

18 августа 2016 г. Admin , Обсудить

Добавляем зависимость в pom.xml или build.gradle:

pom.xml

            org.bgee.log4jdbc-log4j2
            log4jdbc-log4j2-jdbc4.1
            1.16
        

build.gradle

          compile group: 'org.bgee.log4jdbc-log4j2', name: 'log4jdbc-log4j2-jdbc4.1', version: '1.16'

Меняем настройки в application.properties

spring.datasource.url             = jdbc:log4jdbc:mysql://localhost/world
spring.datasource.driverClassName = net.sf.log4jdbc.sql.jdbcapi.DriverSpy

Создаем файл log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

Создаем файл logback.xml

    
    logger name="jdbc.sqlonly"        level="DEBUG"
    logger name="jdbc.sqltiming"      level="INFO"
    logger name="jdbc.audit"          level="INFO"
    logger name="jdbc.resultset"      level="ERROR"
    logger name="jdbc.resultsettable" level="ERROR"
    logger name="jdbc.connection"     level="DEBUG

Файл приведен не корректный, т.к. бъется структура страницы. Ищущий найдет в инете нормальную версию. 

Существует 5 уровней логирования: DEBUG < INFO < WARN < ERROR < FATAL

И вставлю табличку с описанием что логируется:

Logger nameDescription
JDBC.sqlonly Logs SQL statements only.

If it is PreparedStatement, there is a SQL statement that is configured as a related argument value.
JDBC.sqltimming Includes time information (in ms) used to execute a SQL statement and its corresponding SQL.
JDBC.audit Logs all JDBC call information except for ResultSet.

(Because a large number of logs is created, it is not recommended to use this logger except for tracing a specific JDBC error.)
JDBC.resultset Logs all JDBC call information, including ResultSet; a large number of logs is created.
JDBC.connection Logs open/close transactions for connections. (log4jdbc version 1.2alpha1 or later.)


Ошибка бэкапа VM через Veeam

24 февраля 2016 г. Admin , Обсудить

Столкнулись с проблемой бэкапа с помощью Veeam виртуальных машин с Vmware Vsphere 5.5 update 3.

Внезапно после того, как на новый хост виртуалок поставили Vmware Vsphere 5.5 update 3 и перекинули на него несколько вирт. машин столкнулись с проблемой невозможности их бэкапа.

Код ошибки:

Retrieving VM files information
Failed to retrieve "SCSI (0:0) Hard disk 1" disk information. Check VM virtual hardware configuration.
GetLocalText failed
Client error: NFC storage connection is unavailable. Storage: [stg:56aa24a8-38e021a8-abc7-b499bab2fe56,nfchost:ha-host,conn:host]. Storage display name: [DATASTORENAME]. Failed to create NFC download stream. NFC path: [nfc://conn:host,nfchost:ha-host,stg:56aa24a8-38e021a8-abc7-b499bab2fe56@dc-tbo/vmname.vmdk].

Server error: End of file

Поиск в интернете говорил о различных способах её решения: проблемы с DNS, рескан хранилищ, ошибка доступности порта 902.

Как выяснилось с помощью лог файла  VeeamAgent_cli корень ошибки был в следующем:

[24.02.2016 10:07:23] < 4648>      ERR |Failed to initiate NFC session. Target host: [VM_HOSTNAME]. VI connection ID: [VM_HOSTNAME9]. Storage MOID: [DATASTORENAME].
[24.02.2016 10:07:23] < 4648>      ERR |SSL error, code: [336151568].error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
[24.02.2016 10:07:23] < 4648>      >>  |SSL_connect() function call has failed.
[24.02.2016 10:07:23] < 4648>      >>  |Failed to establish connection with the SSL server.
[24.02.2016 10:07:23] < 4648>      >>  |Cannot initialize new SSL connection.
[24.02.2016 10:07:23] < 4648>      >>  |Authd handshake has failed.
[24.02.2016 10:07:23] < 4648>      >>  |NFC session with the specified ticket [52 7a af bc 91 e8 ac 58-e9 33 a3 94 eb 95 57 d7] is unavailable. Target host: [VM_HOSTNAME].
[24.02.2016 10:07:23] < 4648>      >>  |Cannot connect to NFC session. Target host: [VM_HOSTNAME]. Storage: [DATASTORENAME]. VI SOAP connection ID: [VM_HOSTNAME].

 

А вот это уже навело методом гугления на то, что в update 3 был выключен протокол SSLv3

Для решения проблемы необходимы включить SSLv3 для authd(902 порт) в соответствии с https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2139396#authd

Включение производится  - Vmware vsphere web client - нужный хост - manage - setings - advanced system setting - UserVars.VMAuthdDisabledProtocols  - убираем sslv3



Сброс пароля в 1С 8.3 (файловый режим работы)

20 октября 2015 г. Admin , Обсудить

Потребовалось снять забытый пароль в файловой базе 1С 8.3. Для этого делаем следующее:

  • Ставим hex редактор
  • Делаем бэкап
  • Открываем файл 1Cv8.1CD и ищем unicode строку "users.usr"
  • В найденной строке ищем число 09 и меняем перед ним с 00 на 01
  • Далее ищем строку "v8users" и в найденной строке меняем V на H (на самом деле пишут что можно менять любой символ в этой строке).
  • Сохраняем, заходим в конфигуратор и убеждаемся, что пользователей нет.

Дополнительно, если необходимо сбросить пароль, делаем следующее (сам не пробовал)

  • После захода в конфигуратор перезапускаем hex редактор и повторно открываем файл 1Cv8.1CD
  • Возвращаем измененные данные на место
  • Перечитываем БД в конфигураторе: Администрирование - Региональные установки инф. базы - ОК (а лучше запустить ТиИ)
  • Заходим в список пользователей и меняем пароли.


Ошибка скрипта /bin/sh^M: bad interpreter: No such file or directory

Обычно сообщение bad interpreter о «Плохом интерпретаторе» возникает после внесения изменений в скрипт на виндовой машине и загрузке этого скрипта на Linux. Сообщение может быть следующего вида:

/bin/sh^M: bad interpreter: No such file or directory

Или на русский манер, если система локализована по великую и необъятную:

/bin/sh^M: плохой интерпретатор: Нет такого файла или каталога


Суть проблемы в том, что под на платформе Windows редакторы добавляют символ «возврата каретки» CR/LF. Не все редакторы под Linux виндовый перенос строки умеют отображать, но он там есть, о чем свидетельствует сообщение об ошибке. В итоге в скрипте мы получаем, например первуют строку вместо:

#!/bin/sh

Нечто подобное:

#!/bin/shVM

А ввиду того, что большинство редакторов в Linux эти символы не отображают, о чем я сказал выше, то и диагностировать проблему не легко. Но не стоит отчаиваться!

Удаляем возврат каретки с использованием tr:

# cat your-script.sh | tr -d '\r' > corrected-your-script.sh

Ненавистный Линуксу символ должен быть удален.



Перезагрузка виртуальной машины в VMware ESXi 5 зависает на 95%

Столкнулся со следующей ситуацией. Одна из виртуальных машин внезапно стала недоступна - пропал удаленный доступ, пинг, доступ к консоли VMware.   Отправил в перезагрузку и обнаружил что состояние перезагруки зависло на 95%.

Помогло следующее решение:

  1. Зайдите в vSphere Client.
  2. Выберите физический хост с сбойной виртуальной машиной и перейдите на вкладку Configuration.
  3. Нажмите на Security Profile.
  4. Нажмите на  Properties в разделе Service.
  5. Запустите службы ESXi Shell и SSH .
  6. Подключитесь к хосту по  SSH.
  7. Выполните /sbin/services.sh restart. Данная команда перезапускает все агенты. vSphere Client или vCenter потеряют подключение к данному хосту.  После реконнекта все появится. Однако виртуальная машина может быть в статусе  (invalid).
  8. Найдите PID процесса запустив  ps|grep “<VMName>”. Второй номер перед именем VM и будет искомым PID.
  9. Убейте процесс командой  kill -9 <PID>.
  10. Перейдите в  /vmfs/volumes/<DataStoreName>/<VMName>.
  11. Удалите swap-файл командой rm –r <SwappFileName.vswp>
  12. В vSphere Client правым кликом на виртуальной машине выберите Remove From Inventory.
  13. Перейдите в хранилище данных, откройте папку с виртуальной машиной, нажмите правой кнопкой на файле  .vmx и выберите Add to Inventory.
  14. Запустите виртуальную машину.


Изучение программирования

24 октября 2014 г. Admin , 1

Я уже писал как то давно, что начал изучать C# и даже публиковал ссылки на обучашки - http://sourica.ru/page/rukovodstva-po-c-dlja-nachinajushhih . 

С тех пор я успешно на это дело забил не сильно продвинувшись. Однако сейчас в связи с разными событиями снова ринулся в эту сторону и занимаюсь по самым разным книгам и курсам в свободное время.

На данный момент есть желание разобраться именно в C# с дальнейшим уходом в ASP.NET, попутно прихватив Powershell и T-SQL.  Что из этого получиться никому не известно.

 

Но серьезность моих намерений подчеркивает создание отдельной рубрики и тэга для этого smile



Сертификация

На данный момент времени ситуация складывается таким образом, что похоже что дальше я сертифицироваться в ближайшее время не буду.

Появились другие интересы, лично для меня понизился статус сертификатов MS.

В настоящее время я серьезно занимаюсь изучением программирования на C#, в планах разбор SQL от и до. Плюс своим ходом идет изучение испанского языка и в связи с семейным расширением огромная куча времени потребляется там.

 

Данный блог остается, сюда я как кидал так и планирую продолжать кидать заметки по работе.