quarta-feira, 13 de julho de 2011

SQL Server 2005 – Alterar language de um login ou Servidor - Principalmente para alteração da data de MM/DD/AAAA para DD/MM/AAAA

Galera muitas vezes Principalmente quando estamos Programando em Delphi com SQL Server temos um problema de compatibilidade de data ou seja ela aparece MM-DD-AAAA quando deveria aparecer DD-MM-AAAA e com isso vamos perdendo os cabelos que nos restam, mas para isso é muito simples basta alterarmos a languages do banco de dados que vem como padrão (us_english) no SQL Server.
Para fazer isso, tive que alterar para Brazilian(Brasil), mas como fazer?

É simples, veja:

Para verificarmos qual language esta no banco de dados:
SELECT @@language, @@langid Onde vão ser retornados o language e o id desta language.

Como alterar a language para um determinado login?
Sintaxe basica
EXEC sp_defaultlanguage 'user', 'language'

Para mudar do login SA
EXEC sp_defaultlanguage 'sa', 'brazilian'
Acima para Pt-Br que a data é DD-MM-AAAA

EXEC sp_defaultlanguage 'sateste', 'us_english'
E acima para En que a data é MM-DD-AAAA

Feito isso é necessário reconfigurar, para isso digite:

RECONFIGURE, no SQL Editor

Pronto, fizemos a alteração da language, agora é só
Parar(Stop) e Iniciar(Start) o SQL Server no SQL Server Surface Area Configuration .

Para mudar o language padrao para o servidor, usamos a procedure sp_configure, assim:

EXEC sp_configure 'default language', 27

E claro, após é necessário reconfigurar, então:

Reconfigure

-– 27 refere-se ao langid brasileiro

Para você saber os langIDs ou nome que se usa(Brazilian, us_english), execute este comando:

USE master
SELECT * FROM SYSLANGUAGES
Vão retornar todos os langids e mais informações interessantes.

Em casos de dúvidas entrem em contato
Luis Alexandre Boyago

terça-feira, 10 de agosto de 2010

Alterar o glyph de um bitbtn em tempo de execução

Fala galera, desculpem a demora para postar novos tópicos no blog, mas atendendo a pedidos.

Caso vc queira que um determinado bitbtn mude o glyph conforme o botão pressionado (por exemplo), edite o seguinte código:

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
BitBtn1.Glyph.LoadFromFile('c:caminho_do_arquivoarquivo.bmp');
end;

No nosso exemplo a cada radiobutton clicado o bitbtn1 ficara com uma glyph diferente.

LEMBRANDO: o arquivo de imagem, precisa estar no formato bitmap (.bmp)

Abraços,

terça-feira, 8 de dezembro de 2009

Desativar Modo Gráfico no UBUNTU

Desativar modo grafico;

sudo update-rc.d gdm remove

Ativar novamente:

sudo update-rc.d gdm defaults

Abraços!

Executar SCRIPT na inicialização do Ubuntu

Essa dica é para quem não sabe como colocar um script na inicialização do sistema. Como se sabe, em distros como o Slackware basta você colocar seu script ou chamá-lo através do /etc/rc.d/rc.local.

Porém o Ubuntu e Debian não tem esse arquivo, então como fazer??? Muito simples. Basta você criar seu script dentro da pasta /etc/init.d. Exemplo:

# joe /etc/init.d/meuscript

#!/bin/bash

echo "Olá mundo"

Agora é só dar a permissão para execução:

# chmod 755 /etc/init.d/meuscript

Quase pronto, agora é só colocar para inicializar junto com o sistema:

# update-rc.d meuscript defaults

terça-feira, 24 de novembro de 2009

Monitoramento com o NAGIOS

Imagine monitorar todos seus servidores, bem como serviços que eles dispõe. Imagine que você poderá receber por e-mail tudo que ocorre em seus servidores, informando a hora que um serviço parou e/ou voltou a funcionar. Imagine que você possa acessar este monitoramento de qualquer parte do mundo, bastando claro o seu servidor ter acesso a internet.

A grande função do NAGIOS é essa, monitorar tudo o que puder.

Aqui vai uma breve explicação extraída da fonte de informação Wikipédia:

"Nagios é uma popular aplicação de monitoração de rede de código aberto e licenciado pelo sistema GPL. Ele pode monitorar tanto hosts quanto serviços, alertando-o quando ocorrerem problemas e também quando os problemas forem resolvidos.

O Nagios foi originalmente criado sob o nome de Netsaint, foi escrito e é atualmente mantido por Ethan Galstad, junto com um exército de desenvolvedores que ativamente mantém plugins oficiais e não-oficiais."

Instalação do Nagios

Desta vez não vou propor uma instalação via RPM ou APT-GET pois não foi encontrado maiores dificuldades em instalar via fontes. A dificuldade foi mesmo curiosa, encontrar pacotes rpm para Nagios atualizados.

Requisitos necessários:

Servidor web baseado em Apache2 completo, existem muitos artigos que explicariam melhor que eu agora a instalar um servidor web.

Continuando o artigo, Primeiramente vamos partir do ponto que você já tem um sistema operacional Linux totalmente instalado e funcional.

DICA: Faça uma instalação full do sistema operacional, todos os componentes. Friso isso pois é muito chato você desejar instalar um novo servidor e ter problemas com bibliotecas C#, C++, Make, mod_php5, entre outros. Instale tudo!

1. adicione os usuários e grupos:

# useradd nagios
# useradd nagcmd
# groupadd nagios
# groupadd www-data
# mkdir /usr/local/nagios
# usermod -g nagios nagios
# usermod -g nagcmd nagios
# usermod -g www-data nagcmd


2. Baixe o pacote do nagios em:

Download nagios-3.0.4.tar.gz - Sourceforge.net

Caso o link não funcione, baixe pelo site do desenvolvedor:

Nagios.org download

3. Salve em uma pasta separada, de preferência /opt/nagios/ e descompacte o pacote do nagios:

# tar xvfz nagios-3.0.tar.gz
# cd nagios-3.0


4. Instale o nagios:

# ./configure --with-command-group=www-data
# make all
# make install
# make install-init
# make install-config
# make install-commandmode


5. Copie todo seu conteúdo da pasta "contrib" para /usr/local/nagios/libexec:

# cd /opt/nagios-3.0/contrib/
# cp -Rf * /usr/local/nagios/libexec


6. Vamos instalar os plugins.

Baixe em:

Download nagios-plugins-1.4.13.tar.gz - Sourceforge.net

Caso o link não funcione, baixe no site do desenvolvedor em:

Nagios.org download

Salve na pasta onde foi descompactado o nagios e descompacte o arquivo nagios-plugins-1.4.11.tar.gz usando o comando:

# tar xvfz nagios-plugins-1.4.11.tar.gz

Acesse a pasta nagios-plugins-1.4.11 e:

# ./configure
# make all
# make install


7. Adicione o Nagios no Apache, o arquivo de configuração do Apache vai depender da sua instalação, aqui por padrão, que usei como exemplo em Red Hat 4 AS, é:

# vi /etc/httpd/conf/httpd.conf

Dentro do arquivo, adicione no final:

# PAINEL NAGIOS

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin


Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all


Alias /nagios /usr/local/nagios/share


Allow from all

Obs.: Novamente atente as localizações, pois dependendo de onde você ordenou a instalação do Nagios, deve-se mudar os parâmetros. FIQUE ATENTO!

8. Teste se os arquivos de configurações estão corretos:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Se receber confirmação de ok, perfeito, caso contrário verifique os arquivos de configuração localizados em /usr/local/nagios/etc ou /usr/local/nagios/etc/objects.

9. Altere as permissões de cgi:

# vi /usr/local/nagios/etc/cgi.cfg

E na linha "use_authentication" altere o valor de "1" para "0".

Obs.: Estou tirando a autenticação apenas para agilizar a implementação, após isto vamos voltar a autenticação.

10. Inicie o serviço:

# /etc/init.d/nagios start

11. Teste:

http://ipdoservidor/nagios

Configurações Nagios

As configurações do Nagios são fáceis e intuitivas, mas bem detalhistas. Dependendo do local da instalação as configurações ficam em:

/usr/local/nagios/nagios.cfg
/usr/local/nagios/cgi.cfg

A configuração do Nagios é dividida em 2 partes:

1. servidor e serviço em si.

Peço para que leiam com calma o arquivo nagios.cfg, nele ficam todas as configurações. Neste artigo vou comentar o essencial:

# Localização do log
log_file=/usr/local/nagios/var/nagios.log

# Localização dos arquivos de configurações a serem checados:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

# Localização do arquivo de configuração para monitorar a máquina local
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

# Localização do arquivo de configuração para monitorar Windows
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

# Localização do arquivo de configuração para monitorar roteadores e switches
cfg_file=/usr/local/nagios/etc/objects/switch.cfg

# Localização do arquivos de configuração para monitorar impressoras
cfg_file=/usr/local/nagios/etc/objects/printer.cfg

Configurações dos hosts

Agora vamos definir quais máquinas vamos checar, quais serviços, IPs e tudo mais.

Novamente depende da localização da instalação:

/usr/local/nagios/etc/objects/commands.cfg
/usr/local/nagios/etc/objects/localhost.cfg
/usr/local/nagios/etc/objects/printer.cfg
/usr/local/nagios/etc/objects/switch.cfg
/usr/local/nagios/etc/objects/windows.cfg
/usr/local/nagios/etc/objects/contacts.cfg

Vamos acessar o arquivo localhost.cfg.

Logo no início do arquivo você vai visualizar uma seção chamada HOST DEFINITION, na qual vai definir os parâmetros da máquina local. Altere o ip e o alias de sua preferência.

# HOST DEFINITION
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name localhost
alias localhost
address 192.168.10.11
}

2. Outra seção que merece atenção é:

# HOST GROUP DEFINITION
# Define an optional hostgroup for Linux machines

define hostgroup{
hostgroup_name servidores-linux ; The name of the hostgroup
alias Servidores Linux ; Long name of the group
members localhost,squid,server2,server3,dbserver,server4,samba,saopaulo,newyork ; Comma separated list of hosts that belong to this group
}

Nela você define grupos e quem pertence a este grupo, no caso os servidores.

3. Esta última seção também é muito importante, pois determina quais serviços serão checados para cada servidor.

# SERVICE DEFINITIONS

#####->PING<-#######
define service{
use local-service ; Name of service template to use
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}

define service{
use local-service ; Name of service template to use
host_name squid
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}

Existem dezenas de serviços, escolha qual lhe atende e copie e cole novos, comente os que não utilizará.

Detalhe importante: Evite apagar os parâmetros e linhas, de preferência apenas comente-as, pois vai lhe salvar de muitos problemas futuros.

Arquivo printer.cfg

Neste arquivo você configura para monitorar uma impressora de rede, a sintaxe é idêntica ao arquivo anterior, com suas devidas seções.

# HOST DEFINITIONS - Definição de host, ip, grupo
# Define a host for the printer we'll be monitoring

define host{
use generic-printer ; Inherit default values from a template
host_name Canon iPR Server T1 Ver1.0 ; The name we're giving to this printer
alias Canon iPR Server T1 Ver1.0(BOTAFOGO) ; A longer name associated with the printer
address 192.168.80.50 ; IP address of the printer
hostgroups network-printers ; Host groups this printer is associated with
}

# HOST GROUP DEFINITIONS - Definição do grupo, nomes.
# A hostgroup for network printers

define hostgroup{
hostgroup_name network-printers ; The name of the hostgroup
alias Impressoras REDE ; Long name of the group
}

# SERVICE DEFINITIONS - Define os serviços a serem checados
define service{
use generic-service
host_name Canon iPR Server T1 Ver1.0
service_description PING
check_command check_ping!3000.0,80%!5000.0,100%
normal_check_interval 10
retry_check_interval 1
}

Arquivo switch.cfg

Neste arquivo você configura para monitorar roteadores, switches na rede, a sintaxe é idêntica ao arquivo anterior, com suas devidas seções.

# HOST DEFINITIONS - Definições de nome, ip, alias, grupo
# Define the switch that we'll be monitoring

define host{
use generic-switch ; Inherit default values from a template
host_name roteador_espanha ; The name we're giving to this switch
alias Roteador espanha ; A longer name associated with the switch
address 192.168.75.5 ; IP address of the switch
hostgroups roteadores ; Host groups this switch is associated with
}

# HOST GROUP DEFINITIONS - Definições de grupo, nome.
# Create a new hostgroup for switches

define hostgroup{
hostgroup_name roteadores ; The name of the hostgroup
alias Roteadores ; Long name of the group
}

# SERVICE DEFINITIONS - Definição de serviços
# Create a service to PING to switch

define service{
use generic-service ; Inherit values from a template
host_name roteador_botafogo ; The name of the host the service is associated with
service_description PING ; The service description
check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service
normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined

Arquivo switch.cfg

Neste arquivo você configura para monitorar roteadores, switches na rede, a sintaxe é idêntica ao arquivo anterior, com suas devidas seções.

# HOST DEFINITIONS - Definições de nome, ip, alias, grupo
# Define the switch that we'll be monitoring

define host{
use generic-switch ; Inherit default values from a template
host_name roteador_espanha ; The name we're giving to this switch
alias Roteador espanha ; A longer name associated with the switch
address 192.168.75.5 ; IP address of the switch
hostgroups roteadores ; Host groups this switch is associated with
}

# HOST GROUP DEFINITIONS - Definições de grupo, nome.
# Create a new hostgroup for switches

define hostgroup{
hostgroup_name roteadores ; The name of the hostgroup
alias Roteadores ; Long name of the group
}

# SERVICE DEFINITIONS - Definição de serviços
# Create a service to PING to switch

define service{
use generic-service ; Inherit values from a template
host_name roteador_botafogo ; The name of the host the service is associated with
service_description PING ; The service description
check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service
normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined

Arquivo contacts.cfg

Este arquivo é de extrema importância, pois ele define quem será avisado caso aconteça algo com alguma máquina, servidor, impressora e roteadores.

É um arquivo pequeno que contém e-mail do administrador.

# CONTACTS
# Just one contact defined by default - the Nagios admin (that's you)
# This contact definition inherits a lot of default values from the 'generic-contact'
# template which is defined elsewhere.

define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Administrador do Nagios ; Full name of user

email email@empresa.gov.br, cemail2@empresa.com.br ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

# CONTACT GROUPS - Define o nome do grupo bem como seus contatos do grupo.
# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.

define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}

Extra

Após tudo configurado, como fazer que o Nagios monitore máquinas Windows? Existem diversos programas e exemplos que permitem esta facilidade, vou mostrar a que utilizo há 2 anos.

O software que deve ser instalado na máquina Windows chama-se NSClient++ e pode ser adquirido em:

Download NSClient++ - Sourceforge.net

Caso o link não funcione, acesse o site do desenvolvedor em:

NSClient++ - Sourceforge.net

1. Instale o software.

2. Acesse o prompt do MSDOS.

3. Dentro do prompt do MSDOS entre no diretório C:\NSClient++ (ou na pasta que você instalou).

4. Digite:

nsclient++ /install

5. Digite:

nsclient++ systray

6. Clicar no menu iniciar > executar e digitar: services.msc

7. Dentro do Services localizar o serviço "NSClientpp (Nagios) ", abra-o. Vai abrir uma janela onde deveremos clicar na aba "logon" e setar o seguinte serviço: "Permitir que o serviço interaja com a área de trabalho".

8. Aplique e OK.

9. Antes de iniciar o serviço "NSClientpp (Nagios)" devemos configurar dois arquivos importantes: NSC.ini e o counters.defs, que estão dentro da pasta descompactada.

NSC.ini: Descomente as linhas com os módulos dll, deixando comentado somente o NRPEL, ficando desta forma:

FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
;NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll

Encontre a linha "NSCLIENT PORT NUMBER" e descomente a linha onde mostra o número da porta "port=12489". Lembre-se de descomentar a linha, ficando desta forma:

port=12489

Para finalizar encontre o a linha "ALLOWED HOST ADDRESSES" e coloque o IP do servidor nagios. Na linha "allowed_hosts=IP_SERVIDOR_NAGIOS". Lembre-se de descomentar a linha, ficando desta forma:

allowed_hosts= 192.168.76.43 ;servidor nagios

Agora o counters.defs: localize a linha "Portuguese_BR" e o substitua pela linha abaixo:

[0x0416]
Description = "Portuguese_BR"
W2K_SystemTotalProcessorTime = "\Processador(_Total)\% tempo de processador"
W2K_SystemSystemUpTime = "\Sistema\Tempo de ativação do sistema"
W2K_MemoryCommitLimit = "\Memória\Limite de confirmação"
W2K_MemoryCommitByte = "\Memória\Bytes confirmados"

Controle de Banda

#!/bin/bash

# ip's que entraram no controle da banda
ips='10.1.1.2 10.1.1.3 10.1.1.23'

# "Eth" que tera o controle de banda
p_rede="eth0"

# Velocidade para os clientes
velocidade=256kbit

# LIMPANDO TUDO
tc qdisc del dev $p_rede root

tc qdisc add dev $p_rede root handle 1:0 htb default 1000

count=1

for IPS in $ips
do
tc class add dev $p_rede parent 1:0 classid 1:$count htb rate $velocidade
tc filter add dev $p_rede protocol ip parent 1:0 prio 1 u32 match ip dst $IPS flowid 1:$count
tc filter add dev $p_rede protocol ip parent 1:0 prio 1 u32 match ip src $IPS flowid 1:$count
count=`expr $count + 1`
done

segunda-feira, 26 de outubro de 2009

Iphone - Pirata CHIP - VIVO, OI, CLARO, TIM ... EM ESTADO DE EMERGÊNCIA


Fala galera ... devido ao grande número de pessoas com o problema do Hiphone, ou outros aparelhos Chineses, que não reconhecerem o chip, das operadoras (Vivo, claro, oi, tim ...), ou ainda reconhece mas fica aparecendo apenas emergência vou disponibilizar este tutorial para facilitar sua vida. =)

Bom para isso é necessário mudar o IMEI de seu aparelho, então vamos fazer o download desses 2 programas.

Drivers Mt 6227
http://www.megaupload.com/?d=ZTDKBUP9

MTK IMEI
http://www.megaupload.com/?d=YFD4OCBP

Oprograma Drivers Mt 6227 será utilizado apenas se o seu computador não reconhecer o aparelho, caso contráio vamos pular essa etapa.

Lique o Celular no pc na porta USB. Ele tentará reconheçer o celular, se aparecer dizendo que drive é Inesistente, Faça o seguinte, vá em Meu Computador (Com o botão direito do mouse) > Propriedades> Hardware > Gerenciador de dispositivo e procure o drive q está com uma interrogação, deve ser o MT6235 ou algo do tipo. Ai coloque pra procurar em avançado, e localize dentro do arquivo q vc baixou a pasta drives. E pronto, ele irá dar um erro mas coloque continuar assim mesmo.

Agora no celular como se você fosse fazer uma ligação normalmente:

Digite *#06#

confira se as 2 numerações de IMEI estão iguais ou começando com 1. então ANOTE!!!.

Ainda no Celular
Digite no celular !!!!
*#3646633# - opção 2 "dispositivo",
depois
opção 7 "Ajuste do Uart"
opção 1 "UART Setting"
opção 2 mude para USB Port.
então clique em OK ou esta bem, o celular vai desligar em 3 segundos isso é normal.

"ATENÇÃO"

Retire os chip's do celular e ligue.

Anote o Imei do celular, q está atraz da Bateria, só os 14 primeiros digitos, o ultimo não precisa.

Instale e abra o programa "MTK EMEI" - EMEI.

conecte o cel ao computador.

No pc, vá em painel de controle > sistema > aba hardware > gerenciador de dispositivo > procure por Portas COM e veja onde está o seu cel (vai estar +- USB ....COMX, onde X é o número da porta com q seu cel está, anote esse número.

No computador, entre no programa IMEI e vá na aba (Configuration)...
depois clique em "enter configuration mode"...
coloque a senha em maiúscula: MIADM (e clique em ok)...

Coloque o número da porta COM (que vc descobriu acima) no campo "COM§°:"

selecione "write sim card 2 emei" o meu deu certo com a "write sim card 2 emei" veja qual o slot aparece Emergência.

No campo "Current IMEI" apague o que vai estar lá (talvez esteja vazio) e coloque os 14 digitos copiados do cel (esqueça o 15° número).

Deixe desmarcada a opção AUTO GENERATE IMEI

Clique em "save all configurations"

Após isso o programa vai pedir para ser fechado. feche-o e o abra em seguida.

Na aba OPERATION vai estar o IMEI INPUT...veja se é o mesmo número que você colocou anteriormente. No meu não constava o IMEI nesse campo, ai eu digitei ele novamente.

Clique em "start".

Pronto... feche o programa.... desconecte o cel do computador..

Desligue o cel... espere alguns segundos coloque o chip e religue-o.

Já deve estar funcionando normalmente....

Pronto ... agora é só colocar o chip e falar a vontade...

abraços